我有了一个选项,输入尺寸的一种形式:MVC 3不显眼的验证 - 有条件地禁用/启用验证
- 宽度&高度
- 宽度
- 身高
而且我有两个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加到字段中,然后在显示时删除它。
编辑:
请留意,当宽度不可见它不是一个“隐藏”的领域本身,它只是一个输入变量,因为父div有显示器的风格,这不是对用户可见:没有
我看过这个版本的各种版本,但它们都不起作用 - 我得出的结论是,这个问题或者是这个规则不起作用,因为它不是隐藏的输入标签,它是父级div - 或者这个规则被设计用于在“隐藏”标签而不是“不可见”输入标签上工作。顺便说一句我试过你的解决方案,它不工作。 – Rob 2012-08-05 12:49:13
':隐藏的'对于隐藏的元素是绝对正确的,因为他们的父母是隐藏的。正如你可以在这个小提琴中看到的,我的解决方案在一个基本情况下运行良好:http://jsfiddle.net/7PmEz/5/。因此,让我们试着找出三角洲到哪里去,还有一些其他的东西丢失了。请将生成的html放入jsfiddle,然后尝试使用我用来测试它的相同的javascript。如果可行,请发布整个视图代码,以便我们可以看一看。 – Milimetric 2012-08-06 18:12:13
嗯,令人沮丧的是,我不能真的把代码放入jsfiddle中,因为它是使用MS MVC3框架生成的 - 所以它没有真正执行有效的比较... – Rob 2012-08-07 09:18:10