对多个控件进行Jquery自定义规则验证

时间:2013-06-27 09:03:04

标签: jquery validation jquery-validate

我在屏幕上有多个动态命名的日期控件。

我有以下JSfiddle。我想知道是否可以为表单上的所有日期字段创建单个规则

http://jsfiddle.net/bboymarko/6tyAd/1/

HTML

     

日期验证

<br />
<label for="date">Enter Date</label>
<input id="date" name="date" type="text" />

<br />
<input name="submit" type="submit" value="Submit" />

的Javascript    $(document).ready(function(){

$.validator.addMethod("kdate", function (value, element) {
    return this.optional(element) || /^(([0-9])|([0-2][0-9])|([3][0-1]))\/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\/\d{4}$/.test(value);
}, "Please enter a valid date.");

$("form").validate({
    rules: {
        date: {
            required: true,
            kdate: true
        }
    },
    submitHandler: function (form) { // for demo
        alert('valid form'); // for demo
        return false;  // for demo
    }
});

});

2 个答案:

答案 0 :(得分:0)

如果您使用的是jQuery,可以使用jQuery Date Picker,这样您就可以将其分配给多个字段,并限制/提前用户格式化日期。所以没有杂乱的正则表达式可以使用,它可以更整洁。

答案 1 :(得分:0)

是的,当你上课时可以使用

<input id="date" name="date" type="text" class="dateValidate"/>

并使用此类选择器验证日期

$('.dateValidate'). whatever method you want to initialize.

动态命名时创建动态ID

与date1,date2,date3类似,并使用for循环

for(i=1;i<=size;i++){

$('#date'+i).your method

}