【问题标题】:How to valid date format dd.MM.yyyy KENDO MVC如何验证日期格式 dd.MM.yyyy KENDO MVC
【发布时间】:2019-09-17 04:40:58
【问题描述】:

我在 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>

谢谢!

【问题讨论】:

  • 你有什么问题?您收到客户端错误消息的问题是什么? (这种情况下需要配置$.validator

标签: asp.net-mvc kendo-ui kendo-datetimepicker


【解决方案1】:

使用 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" })
)

【讨论】:

    【解决方案2】:

    试试这个:

    DatePickerFor(model => model.ExpirationDate).Format("{0:dd.MM.yyyy}");
    

    【讨论】:

      【解决方案3】:

      在 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 documentation

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

      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;
          }
      

      【讨论】:

      • 谢谢,我已经这样做了……剑道文化(cs-CZ)有这个日期格式:d。 M. yyyy 我需要支持 dd.MM.yyyy ...就像我在帖子中写的那样
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 2013-05-20
      • 2017-05-21
      • 1970-01-01
      相关资源
      最近更新 更多