在一个jsp页面上,我正在对所有<form:input>
字段使用bean验证,但我无法使其适用于我的<form:select>
,所以只是因为我正在使用jQuery验证,但是由于某种原因,它不起作用。
jQuery验证功能:
$(function() {
$.validator.setDefaults({
errorPlacement: function(error, element) {
error.insertAfter("#submit");
}
});
$("#myForm").validate({
rules: {
programSelect: {
required: true
}
},
messages: {
programSelect: {
required: " Select program!"
}
}
});
});
jsp页面的重要部分:
<c:url var="editUrl" value="/essays/main/student/edit"/>
<form:form modelAttribute="studentAttribute" id="myForm" method="POST" action="${editUrl}">
<form:errors path="*" cssClass="errorblock" element="div"/>
...
<form:select path="program" id="programSelect" size="8">
<form:options items="${programList}" itemValue="programId" itemLabel="programDescription" />
</form:select>
...
<input type="submit" value="Submit" name="edit" id="submit"/>
所以,id="myForm"
中有<form:form>
,我已将所有必需的js文件关联起来,id="programSelect"
中有<form:select>
,我错过了什么? jQuery验证是否可以仅用于页面上的一个元素,就像在这种情况下一样?谢谢。
更新:生成的html具有name
属性:
<select id="programSelect" name="program" size="8">
<option value="18">First program</option><option value="A2">Fourth program</option><option value="B7">Third program</option><option value="M5">Fourth program</option><option value="M7">Fifth program</option><option value="OA">Sixth program</option>
</select>