ASP.. NET MVC 3 -如何编写数据注释和jquery
本文关键字:数据 注释 jquery 何编写 NET MVC ASP | 更新日期: 2023-09-27 18:18:24
在过去的3天里,我一直在努力编写一种绕过以下场景的方法-这一定是一个相当常见的场景,但我是一个数据库设计师,对mvc和c#非常陌生
我有两个数据库表
Primary_Applicant_Details
和Previous_Applicant_Details
这些表有一个主键和以下字段:
Title not null
Forenames not null
Surname not null
现在,视图包含这两个表的字段(使用Mindscape Lightspeed生成模型),但是,用户必须输入Primary详细信息,因此"required"的数据注释-工作良好。
但是,上一个申请人的详细信息是可选的。
因此,如果用户输入任何以前的申请人详细信息,即标题,名称或姓氏,那么视图上的所有这些项目都必须输入。
所以我不能把"Required"数据注释放在Previous application Details字段上,因为这会使它们在视图中成为强制性的。
是构建所需数据注释的唯一方法吗?如果是,则需要在所有3个字段上显示,并检查其他2个字段是否已输入。例如,如果输入了标题,则检查名称和姓氏是否也已输入,如果输入了名称,则检查标题和姓氏是否已输入,等等。
如果这是正确的,谁能帮助提供检查多个字段的数据注释的代码?如果有其他方法,请告诉我。
没有这样的东西内置到mvc 3中,但这个家伙已经建立了一个mvc 3验证工具包,具有"条件要求"验证
您需要编写您自己的自定义验证器。要做到这一点,您必须继承ValidationAttribute类并覆盖IsValid方法。IsValid方法有一个很酷的重载,它允许你访问当前上下文,这样你就可以检查模型上的所有属性,做数据库查找之类的事情。
查看这篇很棒的文章,了解有关数据验证的所有细节。它应该能帮助你解决你的问题。
http://www.diaryofaninja.com/blog/2011/07/19/spelunking-inside-aspnet-mvc-3-model-aware-data-annotations