条件验证即。仅当某个单选按钮被选中时才需要一个字段?

Conditional Validation ie. Requiring a field only if a certain radio button is checked?

这更像是一种指向正确方向的事情。我目前正在做一个项目,在选中一个单选按钮之前,将隐藏一些字段,因此在此之前也不需要。因此,勾选特定的单选按钮,字段会显示出来,现在它们在提交时需要使用模型中的 [Required] DataAnnotations 属性。

我尝试使用 MVC Foolproof 和 [RequiredIf],但考虑到必要的过时 js 文件并没有太多运气,并且想知道其他人是否有更简单的解决方案。

感谢任何意见。我觉得这不是一项太罕见的任务,但很难通过 Google.

找到解决方案

我建议您为此使用 angularjs,因为它是为此而构建的。如果您不熟悉 angular 验证,这里有一篇很棒的 scotch 文章,其中提供了非常好的演示。祝你好运!

根据 ng-if 指令隐藏和显示字段,并使用 required 属性使字段成为必需字段。就是这样!

<input type="text" 
       name="name" 
       class="form-control" 
       ng-model="user.name" 
       ng-if="user.required" 
       required>

Angular Validation

我相信您可以使用 Javascript/Jquery.

完成此操作

像这样:

if($('#idNameOfRadioBtn').is(':checked')){
    $('#idOfFieldNameThatIsNowRequired').attr('required');
}
else{
    $('#idOfFieldNameThatIsNowRequired').removeAttr('required');
}

如果有帮助请告诉我!