如果你想用 jQuery Validate 插件验证这个元素,它的标记有两个问题......
<select id="BusinessDistrictId">
<option value="-1">Select one...</option>
//other options...
</select>
1) 根据 jQuery Validate 插件的要求,每个元素都必须具有唯一的name
属性。当在内部声明规则时.validate()
,它们由它们的name
. 但是,无论如何声明规则,每个元素仍然必须具有唯一的name
属性,因为这就是插件跟踪表单元素的方式。
2)您的min: 0
规则只是违反required
规则的解决方法。为了在元素上使用required: true
,<select>
您必须value=""
在第一个元素上具有属性<option>
;因此 ,在您的情况下,该required
规则将始终被忽略。 并且由于您有min: 0
规则,您将获得类似的验证结果,需要选择一个项目。即使value=""
在 first 上有属性,在一个元素上option
同时拥有 therequired
和min
规则select
也没有逻辑意义。
这是正确的代码...
HTML:
<select id="BusinessDistrictId" name="BusinessDistrictId">
<option value="">Select one...</option> <!-- first option contains value="" -->
//other options...
</select>
jQuery :
rules: {
BusinessDistrictId: { // <-- this is the name attribute
required: true
}
},
演示:http: //jsfiddle.net/y82dV/