【问题标题】:Why is my non-required data member giving required error?为什么我的非必需数据成员给出必需的错误?
【发布时间】:2013-08-31 21:25:59
【问题描述】:

这真的很奇怪。我有一个 asp.net MVC 应用程序,我正在做一些数据验证。

我有一些不需要的 DateTime 数据成员。事实上,我已经完全删除了所有注释。

这是对遗留内部系统的重写,因此使用文本框输入日期就可以了。

出于某种原因,这些文本框是按要求呈现的!我什至尝试使用 jQuery 删除 data-val 和 data-val-required 属性。我使用浏览器调试器查看 HTML,并且在 javascript 运行后属性消失了。

这可能是什么原因造成的?

From the Razor markup:
@Html.TextBox("MainStartDt", Model.MainStartDt.ToShortDateString(), new {@class="dateedit" })

from the view model:

public DateTime UsersAddedStartDt { get; set; }
public DateTime UsersAddedEndDt { get; set; }

我还可以发布哪些其他信息来提供帮助。这看起来很简单,这些不应该在没有声明的情况下重复使用。

提前致谢!

【问题讨论】:

    标签: asp.net-mvc razor data-annotations


    【解决方案1】:

    DateTime 不可为空,因此是必需的。如果您希望它是可选的,请将其设为可为空。

    public DateTime? UsersAddedStartDt { get; set; }
    

    这将适用于所有不可为空的(值)类型,包括 intdoublefloatshortGuidPoint 等。

    【讨论】:

    • @richb01。我知道 :) 和我的荣幸。
    猜你喜欢
    • 1970-01-01
    • 2017-02-02
    • 2019-03-01
    • 2021-05-13
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多