Asp.net mvc 4 如何删除MVC4中的required属性,尽管这在模型中是必需的
我无法对字符串属性执行相同的操作。在下面的代码中,我想删除“姓氏”的验证,并将其设置为可选Asp.net mvc 4 如何删除MVC4中的required属性,尽管这在模型中是必需的,asp.net-mvc-4,asp.net-mvc-validation,Asp.net Mvc 4,Asp.net Mvc Validation,我无法对字符串属性执行相同的操作。在下面的代码中,我想删除“姓氏”的验证,并将其设置为可选 [Required(ErrorMessage = "Required")] [Display(Name="Last Name")] public string LastName { get; set; } 您可以将以下java脚本添加到视图中,它将删除LastName的required规则,尽管该规则在模型中是必需的 $("#LastName").rules("remove", "require
[Required(ErrorMessage = "Required")]
[Display(Name="Last Name")]
public string LastName { get; set; }
您可以将以下java脚本添加到视图中,它将删除
LastName
的required
规则,尽管该规则在模型中是必需的
$("#LastName").rules("remove", "required");
谢谢 如果希望ModelState有效,请尝试以下操作:
ModelState["LastName"].Errors.Clear();
if (ModelState.IsValid)
{
// your logic
}
如果要禁用客户端验证,请执行以下操作:
@Html.EnableClientValidation(false);
注意:这将禁用所有客户端验证。您可以使用此选项禁用特定字段的客户端验证
<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.Remove("SomeValue"); // to omit SomeValue Validation Error
if(ModelState.IsValid)
{
//Do some stuff, eventually redirect elsewhere
}
从您的型号中删除此行-
[必需(ErrorMessage=“必需”)]
。重新编译,将不再需要该属性。我想从视图中删除验证。这可能吗?我已经应用了逻辑,但我还有一个问题。ModelState无效。ModelState.IsValid返回false。这是因为您在模型中将LastName
定义为Required
。要么您必须删除ModelState.IsValid
检查并分别对字段进行验证,要么您可以添加ModelState[“LastName”]。Errors.Clear()代码>在检查状态之前。然后它会一直清除LastName
字段的模型错误。无论如何,如果您不想验证,为什么要在模型中设置它?该模型是为通用目的创建的。我使用这个模型根据不同的需求创建动态表单。我想使用相同的模型并生成表单。如果我想禁用一个字段的验证,那么这将是一个困难的问题。我如何才能使验证再次启用?谢谢。这是可以理解的。我的问题是:我已经为字段Last Name指定了必需的属性。现在我想从客户端删除。这仅适用于该字段吗?请提供帮助。@SubrataChakraborty您可以使用此命令禁用特定字段的客户端验证