pad*_*ike 3 c# validation asp.net-mvc web
标题:ASP MVC上ViewModel字段的条件验证
我对ASP MVC验证有疑问。假设我拥有以下View模型
public class PersonViewModel
{
[Required]
public string Name {get; set; }
[Required]
public string Email {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
据此,当我提交表单时,MVC将验证两个字段都具有值。但是,在我的网站中,我遇到这样的情况,可以在全局站点设置中关闭“电子邮件”,因此该模型将仅在表单上呈现“名称文本框”。现在,当我提交表单时,尽管用户无法立即填写该字段,但它仍要求我提供“电子邮件”字段,因为它表示为“必填”。
使用ASP MVC验证时,是否有针对这种情况的解决方案?
我似乎找到了解决方案:
if(EmailTurnedOff)
{
this.ViewData.ModelState.Remove("Email");
}
Run Code Online (Sandbox Code Playgroud)
然后,当我调用ModelState.IsValid时,它将给我正确的答案
归档时间: |
|
查看次数: |
4568 次 |
最近记录: |