关于cakephp:字母数字验证在jquery中不起作用

alphanumeric validation not working in jquery

下面给出了我的代码,包括所有必需的JS文件。

1
2
3
4
5
6
7
<?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使用此表单从数据库中搜索用户名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(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
2
3
4
5
6
    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"
    }

那对我有用(我的母语是西班牙语)


1
2
3
4
5
            if ($('#element').val() !="value") {
            var a = e.key;
            if (a.length == 1) return /[a-z]|[0-9]|&/i.test(a);
            return true;
        }


经过测试,效果很好。required也不适合你吗?

演示