加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-07-09 06:49:54 所属栏目:asp.Net 来源:互联网
导读:我有一个表单,可以选择输入维度: 宽度和宽度高度 宽度 身高 我有两个容器div,我隐藏/显示取决于选择的三个选项中的哪一个: div class=editor-field id=width-container @Html.EditorFor(model = model.Width) @Html.ValidationMessageFor(model = m

我有一个表单,可以选择输入维度:

>宽度和宽度高度
>宽度
>身高

我有两个容器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>

如果选择了height,那么宽度不会显示在窗体上,如何在Width输入字段上禁用不显眼的验证,这样可以让我在用户改变主意时轻松地重新设置它,即删除数据 – *属性不是一个选项.我很高兴创建一个CustomAttribute类来处理这个但是我不想破解标准的jquery文件来使这个工作,因为它使新版本的更新令人头疼.如果所有其他方法都失败了,我会使用我常用的技巧,即在字段不可见时将值0添加到字段中,然后在显示时将其删除.

编辑:

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

解决方法

您可以设置处理不引人注目的验证的jQuery验证器,以忽略隐藏的元素:
jQuery.validator.defaults.ignore = ":hidden";

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

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读