无论出于何种原因,如果您不想使用该属性,您可以使用插件的方法placeholder
创建自定义规则。即使 OP 采用了替代方法,这也是关于如何创建新规则的一个很好的教训。addMethod()
由于您声明您只希望date
在值为 not 时进行验证"yyyy-mm-dd"
,因此我只是添加了一个条件,该条件检查输入的值与元素的defaultValue
,并将默认date
方法/规则代码放入其中。
jQuery.validator.addMethod("mydaterule", function (value, element) {
if (value != element.defaultValue) {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
} else {
return true;
}
}, 'please enter a valid date');
您可以根据需要进一步调整它。
应用新规则如下:
$('#myform').validate({
rules: {
mydate: {
mydaterule: true
}
}
});
演示:http: //jsfiddle.net/Acew7/
重要说明:"yyyy-mm-dd"
不是满足默认date
规则的正确格式。但是,"yyyy/mm/dd"
会工作。
例如
- 2013-02-28
date
验证将失败
- 2013/02/28 将通过
date
验证