簡體   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