Буквенно-цифровая проверка не работает в jquery
мой код приведен ниже, все необходимые файлы js включены.
<?php
echo $this->Html->script('jquery');
echo $this->Html->script('jquery-ui');
echo $this->Html->script('jquery.validate');
echo $html->css('jquery-ui');
?>
когда я отправляю форму без значения для UserDetailAliasName, форма не отправляется, и сообщение об ошибке проверки отображается ( "это поле обязательно" ), но если я отправлю такое значение, как @, # и т.д., форма отправляет данные, iam, используя эту форму для поиска имени пользователя из db.
$(document).ready(function () {
jQuery.validator.addMethod("alphaNumeric", function (value, element) {
return this.optional(element) || /^[0-9a-zA-Z]+$/.test(value);
}, "Username must contain only letters, numbers.");
$('#UserDetailIndexForm').validate({
rules: {
UserDetailAliasName: {
required: true,
alphaNumeric: true
}
}
});
});
Ответы
Ответ 1
Включите также сообщение ниже правил:
messages: {
account:{
required:"Porfavor ingresa tu ID de cuenta",
minlength:"La cuenta debe tener al menos 6 caracteres",
alphanumeric:"No se permite que ingreses caracteres invalidos"
}
которые работают для меня (мой локальный язык испанский)
Ответ 2
проверено и что работает.. is required
тоже не работает для вас?
Ответ 3
if ($('#element').val() != "value") {
var a = e.key;
if (a.length == 1) return /[a-z]|[0-9]|&/i.test(a);
return true;
}