这是我的代码,checkUsername函数不起作用,应该如何修复?

<form id="register_form" method="post" action="">
    <fieldset>
        <legend>Info</legend>

        <div>
            <label>Username</label>
            <input type="text" name="username" id="username"/>
            <input type="submit" id="btnAccess" class="button" value="Submit" name="btnAccess"/>
    </fieldset>
</form>


$(document).ready(function() {
    var validator = $('#register_form').validate({
        rules: {
            username: {
                required: true,
                minlength: 4,
                checkUsername: true
            }
        },
        messages: {
            username: {
                required: "No blank",
                minlength: "Enter atleast 4 words"
            }
        }
    });

    $.validator.addMethod('checkUsername', function(value, element) {
        return /\s/g.test(value);
    },  "error");
});


http://jsfiddle.net/nambatre/rEpqr/

P / S:如果我要检查字符串中是否包含@#等单词,该怎么办?

最佳答案

您需要返回true是值true

它应该是

$.validator.addMethod('checkUsername', function(value, element) {
    return this.optional(element) || !/\s/g.test(value);
}, "error");


演示:Fiddle

10-05 20:58
查看更多