动态创建元素上的jQuery验证

时间:2020-04-22 21:27:22

标签: jquery validation

这是我的工作:

https://jsfiddle.net/eadmsrqz/

$( document ).ready( function () {
    $('#submit').one('click', function() {
        $( "#munizioni" ).validate( {
            rules: {
            },
            messages: {
                "calibro[]": {
                    required: "Per ogni quantità inserita deve essere selezionato un calibro!<br>"
                },
                "quantita[]": {
                    required: "Per ogni calibro selezionato deve essere inserita una quantità!<br>"
                }
            },
            errorElement: "em",
            errorPlacement: function ( error, element ) {
                    error.addClass( "invalid-feedback" );

                    if ( element.prop( "type" ) === "checkbox" ) {
                            error.insertAfter( element.next( "label" ) );
                    } else {
                            error.appendTo( '#errordiv' );
                    }
            },
            highlight: function ( element, errorClass, validClass ) {
                    $( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
            },
            unhighlight: function ( element, errorClass, validClass ) {
                    $( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
            }
        });
        $('[name^="calibro"]').each(function() {
            $(this).rules('add', {
                required: function(element){
                    return $(element).parent().find("input[type=text]").val() != "";
                }
            });
        });
        $('[name^="quantita"]').each(function() {
            $(this).rules('add', {
                required: function(element){
                    return $(element).parent().find("select[name^=calibro]").val() != "";
                }
            });
        });
    });
});

按下+按钮->创建另一个文本+选择输入。

验证规则是:并非所有字段都是必填字段,但是如果我填写数量,则必须选择口径,反之亦然。

问题:如果我总共创建5对数量+口径(例如),并且只在所有口径中插入,只有第一个是错误的,而不是全部。因此,如果我纠正了第一个错误,而让其他错误不解决,则系统会让我继续。如果我对数量也做同样的事情。

但是我都用过.....

我该如何解决?

非常感谢

0 个答案:

没有答案