繁体   English   中英

jQuery验证,动态绑定表单验证

[英]jquery validate, dynamically binding form validation

我正在尝试为某些地址验证表单在ajax响应上动态绑定验证。 我已经尝试了一些方法,但是似乎无法正常工作。 到目前为止,这是我得到的任何帮助,所有console.log都在工作。

 $('#profileAddresses form').each(function() {
            console.log('each');
            var _id = $(this).prop('id');
            var _idNum = _id.split('-');
            var _input = _idNum[1];
            var line1 = 'profile' + _input + 'Line1';
            var city = 'profile' + _input + 'City';
            var state = 'profile' + _input + 'State';
            var zip = 'profile' + _input + 'Zip';
            var country = 'profile' + _input + 'Country';
            $(this).validate({
                onkeyup: false,
                errorClass: 'error',
                errorElement: 'div',
                onfocusout: false,
                errorPlacement: function(error, element) {
                    error.insertBefore(element);
                },
                rules: {
                    line1: {
                        required: true
                    },
                    city: {
                        required: true
                    },
                    state: {
                        required: true
                    },
                    zip: {
                        required: true,
                        minlength: 5
                    },
                    country: {
                        required: true
                    }
                },
                messages: {
                    line1: {
                        required: 'Please enter a street address.'
                    },
                    city: {
                        required: 'Please select a city.'
                    },
                    state: {
                        required: 'Please select a state.'
                    },
                    zip: {
                        required: 'Please enter a zip code.',
                        minlengh: 'Pleaes enter a valid zip code.'
                    },
                    country: {
                        required: 'Please select a country.'
                    }
                }
            });
        });

如果其他人遇到此问题,这似乎可行,只需在表单上设置验证,然后将规则添加到输入中即可。 我为每个类添加了一个类,因此可以更改所需的消息或要求。

 $('#profileAddresses form').each(function() {
            $(this).validate({
                onkeyup: false,
                errorClass: 'error',
                errorElement: 'div',
                onfocusout: false,
                errorPlacement: function(error, element) {
                    error.insertBefore(element);
                }
            });
            var _id = $(this).prop('id');
            $('#' + _id + ' input').each(function() {
                if($(this).hasClass('profileAddressZip')) {
                    $(this).rules('add', {
                        required: true,
                        messages: {
                            required: 'Required msg.'
                        }
                    });
                }

            });
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM