javascript - Jquery 验证仅部分工作

标签 javascript jquery validation

所以我使用 jquery validate 来验证表单,它在大部分情况下都有效,但我的确认密码输入没有执行任何操作。当我告诉它像其他字段一样是必填字段时,它并没有表明它是必填字段,并且我使用的 equalTo: 方法不起作用,但我不认为 equalTo : 方法是问题,因为 required: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>

最佳答案

正如评论中提到的,我不熟悉 JSP,但非常熟悉 jQuery 验证插件,

首先,您缺少密码输入id="password"

<form:password path="password" id="password" />

然后路径确认密码输入

<form:password path="confirmPassword" id="confirmPassword"/>

jQuery 验证插件根据输入 name 属性或 JSP path 设置规则,因此由于丢失而无法找到 确认密码 pathequalTo 失败,因为您使用 "#password" 绑定(bind)它,但没有给出 id="password" 密码输入

关于javascript - Jquery 验证仅部分工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205553/

相关文章:

javascript - Jquery DatePicker 更改特定日期的 onSelect 突出显示颜色

javascript - 我如何使用这个查找数组并在 javascript 中匹配数组?

javascript - 根据数据属性对子 div 进行排序

javascript - Angularjs 缓存工厂 : id is already taken

javascript - 拉拉维尔{!! Form::open() !!} 在 AngularJS 中不起作用

jquery - Owl Carousel 2 内部引导 Accordion 仅适用于窗口大小调整?

javascript - "Button"和 ":button"选择器的问题

python - Django 请求在干净的表单中不可用

java - 业务逻辑验证模式和建议

c# - 至少应通过 asp.net mvc 中的自定义验证检查一个单选按钮