Jquery只验证部分工作

时间:2015-10-19 02:08:41

标签: javascript jquery validation

所以我使用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>

1 个答案:

答案 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"