gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 2 中的 DataAnnotations - 阻止 MVC 将 RequiredAttribute 应用于不可为空的 DateTime 等属性

转载 作者:行者123 更新时间:2023-12-04 17:05:28 26 4
gpt4 key购买 nike

我试图创建一个自定义版本的 RequiredAttribute 来替换内置的版本,我已经让它适用于具有字符串值的属性,但是对于 DateTime 或整数的属性,例如,默认的 RequiredAttribute 似乎是自动应用的(如果该属性不可为空!)

我的问题是我希望能够使用我的自定义必需验证器根据需要指定一个 DateTime 属性,该验证器从资源文件中获取错误消息(我不想告诉 RequiredAttribute 资源文件的类型和每次我应用它时都使用键。这就是为什么我要定制一个。)

如何防止框架将所需的属性应用于 DateTime 和 int 等类型的属性 没有 将它们更改为可空。

谢谢

最佳答案

找到了!我把它放在 Global.asax.cs 文件中

DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

DataAnnotationsModelValidatorProvider 类有一个名为“AddImplicitRequiredAttributeForValueTypes”的静态属性,默认情况下该属性必须为 true,将其设置为 false 可以解决问题。

(对于任何试图做与找到此条目相同的事情的人,我正在记录它 here )

关于asp.net-mvc - ASP.NET MVC 2 中的 DataAnnotations - 阻止 MVC 将 RequiredAttribute 应用于不可为空的 DateTime 等属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com