Asp.net mvc Kendo TimePickerforFormatting不起作用

Asp.net mvc Kendo TimePickerforFormatting不起作用,asp.net-mvc,asp.net-mvc-4,kendo-ui,timepicker,Asp.net Mvc,Asp.net Mvc 4,Kendo Ui,Timepicker,我有一个MVC剑道时间选择器,我正在使用。它工作得很好,只是我不能将时间格式化为军事时间。在我为军事时间添加格式之后,一旦我选择了验证未通过的时间,它会告诉我它必须是一个日期。有没有一种方法可以设置时间选择器的格式以允许军事时间 @using Kendo.Mvc.UI @model DateTime? @(Html.Kendo().TimePickerFor(m=>m) .Value(@Model) .Min("05:00") .Max("00:00")

我有一个MVC剑道时间选择器,我正在使用。它工作得很好,只是我不能将时间格式化为军事时间。在我为军事时间添加格式之后,一旦我选择了验证未通过的时间,它会告诉我它必须是一个日期。有没有一种方法可以设置时间选择器的格式以允许军事时间

@using Kendo.Mvc.UI
@model DateTime?

@(Html.Kendo().TimePickerFor(m=>m)
    .Value(@Model)
    .Min("05:00")
    .Max("00:00")
    .Format("{0:HHmm}")
)

更新:将格式更改为.format(“HHmm”)时,这不起作用。

我认为您必须删除大括号,并确保它是有效的格式类型。我也不认为0是必要的

下面是一些格式化文档

编辑:
你的最大值和最小值正确吗?我不认为这在逻辑上是正确的。

好的,多亏了剑道人,我找到了答案。根据情况,脚本可能需要一些工作。我的计时器选择器位于编辑器模板中,该模板与其他计时器选择器和数字文本框位于一个网格中。这种工作方式的唯一特点是,一旦启动脚本,数字框也会使用该脚本进行验证(因此返回$.isNumeric(input.val())行)。希望这能帮助其他人

控件的时间选择器:

@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>
@使用Kendo.Mvc.UI
@模型日期时间?
@(Html.Kendo().TimePickerFor(m=>m)
.Value(@Model)
.格式(“HHmm”)
.HtmlAttributes(新的{data_format=“HHmm”})
.ParseFormats(新[]{“HHmm”})
)
var originDate=kendo.ui.validator.rules.mvcdate;
kendo.ui.validator.rules.mvcdate=函数(输入){
var format=input.attr(“数据格式”);
if(input.val()==“”){
返回kendo.parseDate(“0000”,格式);
}
如果(格式){
返回kendo.parseDate(input.val(),格式);
}否则{
返回$.isNumeric(input.val());
}
};

该格式将日期放在选择器中,我不需要。这也不会显示军事时间。最小/最大值是正确的。他们希望能够选择上午5:00到午夜12:00之间的时间。从技术上讲,最小值应该是5:00,最大值应该是23:59
@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>