ASP.. NET MVC:根据配置通过DataAnnotation自定义验证

本文关键字:DataAnnotation 自定义 验证 配置 NET MVC ASP | 更新日期: 2023-09-27 18:06:28

我使用DataAnnotation对我的视图模型进行客户机和服务器验证。我想问你关于使用自定义验证的最佳实践。

我有两个表单,它们使用相同的视图模型:

public class RecipientViewModel
{
    [Required]
    public string Address1 { get; set; }
    public string Address2 { get; set; }
}

我想要实现的是,第一个表单应该验证Address2字段,但第二个表单没有。当然,我的视图模型要大得多,我想让它尽可能通用。

是否有可能传递要验证的字段列表以及如何传递?例如视图可以通过某种方式传递给视图模型?

ASP.. NET MVC:根据配置通过DataAnnotation自定义验证

请澄清您的问题或显示更多代码。一般来说,注解非常适合检查预期的结构或特定类型的预期数据。比如长度,存在感,类型。对于其他更复杂的业务案例。好的实现将有一个处理这些用例的业务层或领域设计。因此,定义您的用例并考虑控制器和数据模型之间的层。也许像验证服务这样的东西会被注入到视图模型中。

HTH

编辑:你可能想看一下-从ASP验证服务层。. NET网站- http://www.asp.net/mvc/overview/older-versions-1/models-(data)/validating-with-a-service-layer-cs],其中显示了一些概念-该技术可能略有变化,因为这篇文章是从2009年开始的,但你明白了。