我有一个基于选择框值的选择框我需要检查文本框是否强制。我已经完成了jQuery验证,但我的问题是我从数据库中获取选择框的值我将名称保留为值,id作为选择框的键。我有选择框
<select name="selectBox1" class="default textbox-select" tabindex="2">
<option value="">Select</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
<input type="text" name="email" class="textbox-cont-regular"/>
如果我选择值B意味着只有电子邮件文本框应该是强制性的。我根据硬代码值进行写入验证2.是最佳实践还是任何改进我自己的想法。因为任何一个更改db中的值意味着我的验证不起作用?或者我将根据文本(“B”)编写验证。哪个是最佳做法?
答案 0 :(得分:1)
选择不会改变的验证标准,以便将来不会出现问题。所以在这种情况下,我建议你使用文本选项,如果那不会改变
答案 1 :(得分:1)
为了将来证明你可以拥有这样的数据库结构。
Value Text IsMandatory
----------------------
1 A false
2 B true
3 C false
然后使用你的服务器端标记代码生成(php / asp.net等),你可以生成一些像这样的HTML
<select id="selectBox1" name="selectBox1">
<option value="">Select</option>
<option value="1">A</option>
<option value="2" data-mandatory="true">B</option>
<option value="3">C</option>
</select>
然后您可以指定您的规则,如
rules : {
email : {
required: "#selectBox1 option[data-mandatory]:selected"
}
}
使用此结构,您可以更改数据库中的id值或文本,而无需触摸标记或验证代码。您还可以更改使文本框成为必填项的值的数量,或将它们全部设为可选等。