.NET MVC 5 不显眼的禁用字段验证

.net mvc 5 unobtrusive disable field validation

本文关键字:字段 验证 MVC 不显眼 NET      更新时间:2023-09-26

这是一个简短的答案。 有谁知道如何使用 .NET MVC 非侵入性验证禁用 JavaScript 上的字段验证?我有一个带有[Require]数据注释的视图模型字段,但根据用户的决定可能是视图中必需的,也可能不是必需的,我将使用 modelState.remove("field") 在我的控制器上管理视图模型验证。

感谢您的帮助

您希望根据用户的决定修改规则。当不再需要该字段时,请执行以下操作:

$('#Property').rules('remove', 'required')

您可以将其包装在#OtherProperty上的侦听器中:

$('#OtherProperty').change(function(e) {
  if (someCondition) {
    $('#Property').rules('remove', 'required')
  } else {
    $('#Property').rules('add', 'required')
  }
});

我相信数据注释只是添加了HTML必需的属性。当您使用 HTML 帮助程序(如 @Html.TextboxFor )时,会添加此功能。我相信它使用不显眼的验证库检查此属性。

使用 javascript 或 jquery,您应该能够动态删除或添加此属性。

示例 - 删除 jQuery 中的必需属性

$('#MyInput').removeAttr('required');

更新

它不添加必需

的属性,它添加数据规则必需="true"

只需删除此属性即可。如果它仍然没有更新,您可能需要重新初始化验证代码。

希望这有帮助!