1

我在 kedno UI 中验证此日期格式时遇到问题:dd.MM.yyyy 对于我的文化(CS-CZ)剑道使用此模式:d. M. yyyy,但主要使用的是格式dd.MM.yyyy

我尝试了一切,但还没有成功:/

我的模型:

public DateTime? ExpirationDate { get; set; }

我的剑道形式:

<div class="form-group">
@Html.LabelFor(model => model.ExpirationDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
    <div class="checkbox">
        @(Html.Kendo().DatePickerFor(model => model.ExpirationDate)
          .Name("ExpirationDate")
          .Culture("cs-CZ")
          .HtmlAttributes(new { style = "width:150px" })
        )
        @Html.ValidationMessageFor(model => model.ExpirationDate, "", new { @class = "text-danger" })
    </div>
</div>

谢谢!

4

3 回答 3

2

使用 Javascript 函数来验证:

function IsValidDate(inputDate) {
    if (kendo.parseDate(inputDate) == null) {
        return false;
    }
    else {
        return true;
    }
}

在视图中使用这个

@( Html.Kendo().DatePicker()
     .Name("FirstMODate")
     .Format("dd.MM.yyyy")
     .ParseFormats(new string[] { "dd.MM.yyyy" })
     .Culture("cs-CZ")
     .HtmlAttributes(new { style = "width:100px" })
)
于 2015-11-12T13:42:32.560 回答
0

在 web config 部分 system.web 配置你的文化

<globalization uiCulture="cs-CZ" culture="cs-CZ" />

在布局中,您需要包含剑道文化 javascript 文件

<script src="@Url.Content("~/Scripts/kendo/2015.3.930/cultures/kendo.culture.cs-CZ.min.js")"></script>

并添加 javascript 代码

$(function () {
    kendo.culture("cs-CZ");
});

剑道文档

或尝试为您的日期输入添加自定义规则:

kendo.ui.validator.rules.mvcdate = function (input) {
        if ($(input.attr('name')) === 'ExpirationDate') {
            return input.val() === "" || kendo.parseDate(input.val(), "dd.MM.yyyy") !== null;
        }
        return true;
    }
于 2015-11-17T15:38:22.697 回答
0

尝试这个:

DatePickerFor(model => model.ExpirationDate).Format("{0:dd.MM.yyyy}");
于 2015-11-12T10:08:31.503 回答