【问题标题】:jQuery regex, remote with validationjQuery 正则表达式,远程验证
【发布时间】:2010-09-23 14:52:03
【问题描述】:

我有这个:

    <script type="text/javascript">

jQuery().ready(function() {

    // validate signup form on keyup and submit
    jQuery("#regform").validate({
        rules: {
            NickName: {
                required: true,
                minlength: 2,
                remote : "user_availability.php",
            },
        },
        messages: {
             NickName:{
                      required: "<br>Please enter your username",
                      minlength : "<br>Your username must be at least 2 characters long",
                      remote: "<br>This username is not available, please try another"
                     }
        }
    });
});
</script>

当我尝试添加在此处找到的任何 addMethod 正则表达式示例时,它将不起作用

这是我尝试过的:

<script type="text/javascript">

jQuery().ready(function() {

jQuery.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            var check = false;
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please check your input."
);



    // validate signup form on keyup and submit
    jQuery("#regform").validate({
        rules: {
            NickName: {
                required: true,
                minlength: 2,
                remote : "user_availability.php",
                regex: "^[a-zA-Z'.\s]{1,40}$",
            },
        },
        messages: {
             NickName:{
                     required: "<br>Please enter your username",
                     minlength : "<br>Your username must be at least 2 characters long",
                     remote: "<br>This username is not available, please try another"
                     regex: "Invalid Character",
                    }    
        }
    });
});
</script>

请帮忙

【问题讨论】:

  • 检查你的控制台/调试器。

标签: jquery regex


【解决方案1】:

你错过了,

remote: "<br>This username is not available, please try another" <<<<<

并且您不需要在对象的最后一个元素上使用“,”:

NickName: {
                required: true,
                minlength: 2,
                remote : "user_availability.php",
                regex: "^[a-zA-Z'.\s]{1,40}$",
            },   <<<<<<<

我个人会让整体思路更整洁

var ValidationObject = {
    rules: {
        NickName: {
            required: true,
            minlength: 2,
            remote : "user_availability.php",
            regex: "^[a-zA-Z'.\s]{1,40}$",
        }
    },
    messages: {
        NickName:{
            required: "<br>Please enter your username",
            minlength : "<br>Your username must be at least 2 characters long",
            remote: "<br>This username is not available, please try another",
            regex: "Invalid Character",
        }
    }
}

然后像这样使用:

jQuery("#regform").validate(ValidationObject);

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2012-07-12
    相关资源
    最近更新 更多