1

我有一个应用程序,允许客户通过设置屏幕来设置日期格式。我更改了当前线程文化的日期格式,并在剑道日期选择器中设置了日期和解析格式。

  DateTimeFormatInfo datetimeFormat = new DateTimeFormatInfo();
  datetimeFormat.FullDateTimePattern = "MM.dd.yyyy hh:mm tt"; //(set static for testing)
  Thread.CurrentThread.CurrentCulture.DateTimeFormat = datetimeFormat;

我的问题是,当我更改客户端验证错误返回的日期格式时,该字段应该是日期。我试图在剑道验证器中设置自定义规则,但这对我没有帮助,因为当我更改日期时,此规则不会被触发。

$("myForm").kendoValidator(
                {
                    rules: {
                       dateValidation: function(input)
                        {
                            if (input.is("[data-role=datepicker]")) {
                                // My code should be here
                            }
                            return true;
                        }
}});

任何人都可以帮助我解决这个问题。

4

1 回答 1

4

无需添加自定义规则,您需要在 kendo 验证器中设置自定义格式,如下所示:

kendo.ui.validator.rules.mvcdate = function (input) {
return input.val() === "" || kendo.parseDate(input.val(), "dd/MM/yyyy") !== null;
}

如果日期选择器有一个值并且该值的格式正确(上面的 dd/MM/yyyy),此代码将返回 true(有效)

于 2015-02-04T07:39:44.853 回答