根据其他特性的值将Required添加到模型中

本文关键字:添加 Required 模型 其他 | 更新日期: 2023-09-27 17:59:36

我的模型中有一个字段,看起来像这个

[Display(Name = "CompanyType", ResourceType = typeof(Captions), AutoGenerateFilter = true)]
[Lookup(LookupTextField = "TypeForDisplay", LookupEntity = "Type", LookupColumns = new[] { "TypeForDisplay" }, LookupType = LookupType.DropDown)]
public Guid? TypeID{ get; set; }

我想将Required添加到该属性中,但不是在所有casse中都添加。它取决于模型中另一个属性的值。做这件事最好(最简单)的方法是什么?

根据其他特性的值将Required添加到模型中

您可以创建一个自定义验证器来实现这一点。

这里有一个关于如何进行的教程。

https://foolproof.codeplex.com/

使用上面的链接下载软件包。添加对包含的.dll文件的引用

在属性顶部使用,如

[RequiredIf]
[RequiredIfNot]

在您的模型上实现IValidatableObject。然后,您可以实现Validate方法来执行您需要的某种自定义验证。

下面是一个例子http://weblogs.asp.net/scottgu/class-level-model-validation-with-ef-code-first-and-asp-net-mvc-3

这里还有一个指向RequiredIf实现的链接,该实现同时具有服务器端和客户端验证。RequiredIf Conditional Validation Attribute