【问题标题】:How do I properly validate DateTime in a CRUD situation for a model within an MVC project?如何在 CRUD 情况下为 MVC 项目中的模型正确验证 DateTime?
【发布时间】:2012-06-12 15:48:56
【问题描述】:

我让用户使用日历/时钟弹出窗口选择日期时间,允许他们进行选择。但是,如果他们要进入并编辑日期以读取类似的内容:6/12/201 10:36:47 AM 而不是 6/12/2012 10:36:47 AM 我的操作通过了 ModelState.IsValid 检查,并且当控制器尝试将对象保存到数据库时出现错误(没错)。

在这种情况下如何正确验证 DateTime? (如果日期时间格式不正确,我想阻止用户甚至能够“提交”表单)

注意:我目前有 jquery.validate 并且通常(字段不是 DateTime)我使用 @Html.ValidationMessageFor(model => model.Field) - 当我当前的 DateTime 字段格式不正确时,这似乎没有任何作用。

【问题讨论】:

  • 您是否也有服务器端数据验证,因为仅客户端验证可能不够?
  • 那么您就可以放心了,因为您可以验证并通过错误/警告消息通知用户。

标签: asp.net-mvc-3 validation datetime razor jquery-validate


【解决方案1】:

您可以使用如下代码片段为您的 DateTime 字段添加日期客户端验证器:

        $(element).rules('add', {
        date: true,
    });

其中“元素”是您对 DateTime 字段的输入。

【讨论】:

    【解决方案2】:

    您确定要导入所有必需的验证 js 文件吗?听起来您的服务器验证工作正常,但客户端什么也没做。我建议阅读 Brad Wilson 的以下帖子:link

    【讨论】:

      猜你喜欢
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      相关资源
      最近更新 更多