gpt4 book ai didi

asp.net-mvc-3 - MVC 3 不显眼的验证 - 有条件地禁用/启用验证

转载 作者:行者123 更新时间:2023-12-02 20:09:33 24 4
gpt4 key购买 nike

我有一个表单,可以选择输入尺寸:

  • 宽度和高度
  • 宽度
  • 高度

我有两个容器 div,根据选择的三个选项中的哪一个来隐藏/显示:

<div class="editor-field" id="width-container">
@Html.EditorFor(model => model.Width)
@Html.ValidationMessageFor(model => model.Width)
</div>

<div class="editor-field" id="height-container">
@Html.EditorFor(model => model.Height)
@Html.ValidationMessageFor(model => model.Height)
</div>

如果选择了高度,则宽度不会显示在表单上,​​如何禁用宽度输入字段上的不引人注目的验证,以便在用户改变主意时可以轻松地重新设置它,即删除data-* 属性不是一个选项。我很高兴创建一个 CustomAttribute 类来处理这个问题,但我不想修改标准 jquery 文件来完成这项工作,因为它会让更新到新版本变得令人头疼。如果所有其他方法都失败了,我将使用我常用的技巧,在字段不可见时向字段添加值 0,然后在显示字段时将其删除。

编辑:

请注意,当 Width 不可见时,它本身并不是一个“隐藏”字段,它只是一个用户不可见的输入标记,因为父 div 的样式为 display:none

最佳答案

您可以设置 jQuery 验证器来处理不引人注目的验证以忽略隐藏元素:

jQuery.validator.defaults.ignore = ":hidden";

// the line above is outside any $(document).ready(...) or similar
$(document).ready(function(){
...
});
...

关于asp.net-mvc-3 - MVC 3 不显眼的验证 - 有条件地禁用/启用验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com