所以我使用jquery验证来验证表单,并且它大部分都在工作,但我的确认密码输入并没有做任何事情。它并没有表明它是必需的字段,当我告诉它需要像其他字段一样,而且相同的方法我使用的不是'工作,但我不认为equalTo:方法是问题,因为要求:true也不起作用。
这是我的JQuery
<script type="text/javascript">
(function($,W,D)
{
var JQUERY4U = {};
JQUERY4U.UTIL =
{
setupFormValidation: function()
{
//form validation rules
$("#user").validate({
wrapper: 'div',
errorLabelContainer: "#messageBox",
debug: false,
rules: {
username: {
required: true,
minlength: 5
},
password: {
required: true,
minlength: 5
},
confirmPassword: {
required: true,
equalTo: "#password"
},
termsOfService: "required",
},
messages: {
username: {
required: "Please enter a username",
minlength: "Must be at Least 5 characters",
},
password: {
required: "Please enter a password",
minlength: "Must be at least 5 characters"
},
confirmPassword:{
required: "Confirm Password required",
equalTo: "Passwords don't match"
},
termsOfService: "please accept our terms of service",
},
submitHandler: function(form) {
form.submit();
}
});
}
}
//when the dom has loaded setup form validation rules
$(D).ready(function($) {
JQUERY4U.UTIL.setupFormValidation();
});
})(jQuery, window, document);
</script>
这是我的jsp页面表单
<form:form commandName="user" method="POST">
Username: <br><form:input path="username"/><br><br>
Password: <br><form:password path="password"/><br><br>
Confirm Password: <br><input type="password" id="confirmPassword"/><br><br>
Terms of Service<form:checkbox path="termsOfService" id="termsOfService" style="vertical-align: middle; margin-left: 15px;"/><br><br>
<input type ="submit" id="submitBtn" value="Submit"/><br><br>
</form:form>
答案 0 :(得分:1)
正如评论中提到的,我不熟悉JSP,但对jQuery验证插件非常熟悉,
首先,您缺少id="password"
密码输入
<form:password path="password" id="password" />
然后path
确认密码输入
<form:password path="confirmPassword" id="confirmPassword"/>
jQuery验证插件,用于根据输入name
属性或JSP path
设置规则,因此由于缺少confirm password
和{{1}而无法找到path
失败,因为您将其绑定到equalTo
但"#password"
输入中没有id="password"