Asp.net mvc 禁用远程验证
我有一个使用远程验证的模型。该模型还充当子类的父类。如何在视图中禁用特定字段的远程验证? 模型代码Asp.net mvc 禁用远程验证,asp.net-mvc,validation,Asp.net Mvc,Validation,我有一个使用远程验证的模型。该模型还充当子类的父类。如何在视图中禁用特定字段的远程验证? 模型代码 public user { [Remote("Validateemail","User",etc)] public string Email {get; set;} } public edituser:user { public int userid {get; set;} public edituser(int userid,string email) { use
public user
{
[Remote("Validateemail","User",etc)]
public string Email {get; set;}
}
public edituser:user
{
public int userid {get; set;}
public edituser(int userid,string email)
{
userid=userid;
Email=email;
}
}
我的目标是在视图中删除edituser类中的删除验证。我假设您只需要在editView中显示电子邮件字段和其中的所有数据,因为通过删除验证,用户无法编辑其电子邮件。
为此,您只需更改视图中的代码即可
Html.EditorFor()
到Html.DisplayFor()
这是viewmodel的完美案例。创建不同的viewmodel进行编辑(实际上,在大多数情况下,效果视图不应直接链接到域模型)
或者,您可以使用IValidatableObject或fluentvalidation,或者您可以使用DataAnnotationsModelValidatorProvider手动附加属性条件(如果适用于您的情况)。我允许用户编辑其电子邮件地址。我只是想强制视图不应用在基类上实现的远程验证