我使用的是MVC Kendo时间选择器。它工作得很好,只是我不能把时间安排成军事时间。在我为军事时间添加格式之后,一旦我选择了验证未通过的时间,它就会告诉我它必须是一个日期。是否有一种方式来格式化TimePickerFor以允许军事时间?
@using Kendo.Mvc.UI
@model DateTime?
@(Html.Kendo().TimePickerFor(m=>m)
.Value(@Model)
.Min("05:00")
.Max("00:00")
.Format("{0:HHmm}")
)更新:如果格式更改为.Format("HHmm"),则不起作用。
发布于 2014-04-18 19:41:01
好吧,感谢肯多人,我找到了答案。脚本可能需要一些工作,视情况而定。我的TimePickerFor位于一个编辑器模板中,它与其他时间选择器和数字文本框位于网格中。这种工作方式的唯一特点是,一旦触发脚本,数字框也使用此脚本进行验证(因此返回$.isNumeric(input.val())行)。希望这能帮到别人。
TimePickerFor控制:
@using Kendo.Mvc.UI
@model DateTime?
@(Html.Kendo().TimePickerFor(m=>m)
.Value(@Model)
.Format("HHmm")
.HtmlAttributes(new{data_format="HHmm"})
.ParseFormats(new[]{"HHmm"})
)
<script>
var originDate = kendo.ui.validator.rules.mvcdate;
kendo.ui.validator.rules.mvcdate = function(input) {
var format = input.attr("data-format");
if (input.val() == "") {
return kendo.parseDate("0000", format);
}
if (format) {
return kendo.parseDate(input.val(), format);
} else {
return $.isNumeric(input.val());
}
};
</script>https://stackoverflow.com/questions/22986296
复制相似问题