我无法对字符串属性做同样的事情。在下面的代码中,我想删除'姓氏'并使其成为可选项。
[Required(ErrorMessage = "Required")]
[Display(Name="Last Name")]
public string LastName { get; set; }
答案 0 :(得分:10)
您可以在视图中添加以下java脚本,但它会删除required
的{{1}}规则,尽管模型中已经要求它。
LastName
谢谢!
答案 1 :(得分:2)
如果您希望ModelState有效,请尝试以下方法:
ModelState["LastName"].Errors.Clear();
if (ModelState.IsValid)
{
// your logic
}
如果要禁用客户端验证,请执行以下操作:
@Html.EnableClientValidation(false);
注意:这将禁用所有客户端验证。
答案 2 :(得分:0)
您可以使用此
禁用特定字段的客户端验证<form method="post">
// to disable client-side validaiton for model.SomeValue
@{ Html.EnableClientValidation(false); }
@Html.TextBoxFor(model => model.SomeValue)<br />
@{ Html.EnableClientValidation(true); }
<input type="submit" />
</form>
或者您可以使用此
省略控制器端特定字段的ModelState ErrorModelState.Remove("SomeValue"); // to omit SomeValue Validation Error
if(ModelState.IsValid)
{
//Do some stuff, eventually redirect elsewhere
}