我有一个应用程序,允许客户通过设置屏幕设置日期格式。 我更改了当前的线程文化日期格式,并在kendo日期选择器中设置了日期和解析格式。
DateTimeFormatInfo datetimeFormat = new DateTimeFormatInfo();
datetimeFormat.FullDateTimePattern = "MM.dd.yyyy hh:mm tt"; //(set static for testing)
Thread.CurrentThread.CurrentCulture.DateTimeFormat = datetimeFormat;
我的问题是当我更改日期格式时,客户端验证错误返回表示该字段应该是日期。 我试图在kendo验证器中设置自定义规则,但这对我没有帮助,因为当我更改日期时,此规则未被触发。
$("myForm").kendoValidator(
{
rules: {
dateValidation: function(input)
{
if (input.is("[data-role=datepicker]")) {
// My code should be here
}
return true;
}
}});
任何人都可以帮我解决这个问题。
答案 0 :(得分:4)
无需添加自定义规则,您需要在kendo验证器中设置自定义格式,如下所示:
kendo.ui.validator.rules.mvcdate = function (input) {
return input.val() === "" || kendo.parseDate(input.val(), "dd/MM/yyyy") !== null;
}
如果日期选择器有值且值的格式正确(上面的dd / MM / yyyy),此代码将返回true(有效)