我就快到了。我已经创建了本地化的jQuery日期选择器,添加了自定义格式验证,但无法摆脱(默认?)美国日期格式验证。
我将我的日期字段呈现如下:
...
@Html.EditorFor(m => m.JobDate)
@Html.ValidationMessageFor(m => m.JobDate)
...
HTML如下所示:
<input class="date hasDatepicker" data-val="true" data-val-required="The JobDate field is required." id="JobDate" name="JobDate" value="28.6.2011" type="text">
<span class="field-validation-valid" data-valmsg-for="JobDate" data-valmsg-replace="true"></span>
最后,我(在我的javascript文件中)连接了一个jQuery日期选择器控件来处理我的日期字段:
$(document).ready(function () {
jQuery.validator.addMethod(
"hrDateValidator",
function(value, element) {
try { jQuery.datepicker.parseDate( 'd.m.yy', value); return true; }
catch(e){return false;}
},
"Datum nije u formatu d.m.gggg"
);
$('.date').datepicker({ dateFormat: "d.m.yy" });
$.datepicker.setDefaults($.datepicker.regional["hr"]);
$('.date').rules("remove");
$('.date').rules("add", { hrDateValidator: true });
});
但是,现在我在日期字段上激活了两个验证规则,即美国日期和此自定义日期。
我不能摆脱这个美国日期规则,为什么$('.date').rules("remove");
行不删除美国日期规则呢?
谢谢,
Igor
发布于 2011-06-28 20:10:42
您可以尝试“覆盖”日期验证方法,而不是添加新的方法:
jQuery.validator.methods["date"] = function (value, element) { ... }
发布于 2013-01-03 04:39:46
date: function (value, element) {
try { jQuery.datepicker.parseDate('d.m.yy', value); return true; }
catch (e) { return false; }
},
https://stackoverflow.com/questions/6505773
复制相似问题