簡體   English   中英

如果4個字段中的1個具有值,則進行Parsley.js驗證

[英]Parsley.js Validation if 1 of 4 Fields Has a Value

在表單上有4個文本輸入。
如果其中至少有一個值,那么所有其余字段都必須有一個值。
是否可以配置Parsley.js進行此驗證?

對的,這是可能的。 但是,沒有默認配置可以執行此操作。

這意味着您必須在javascript中創建該邏輯,並在每種情況下銷毀/綁定歐芹。

看一下這段代碼( jsfiddle可用 ):

<form class="form-inline" method="post" id="myForm">
    <input type="text" id="field1" name="field1" />
    <input type="text" id="field2" name="field2" />
    <input type="text" id="field3" name="field3" />
    <input type="text" id="field4" name="field4" />
    <button type="submit" class="btn btn-default">test</button>
</form>

<script>
    $('#myForm').parsley();

    $("#field1, #field2, #field3, #field4").on('change', function() {
        if ($("#field1").val().length > 0 ||
            $("#field2").val().length > 0 ||
            $("#field3").val().length > 0 ||
            $("#field4").val().length > 0 )
        {
            // If any field is filled, set attr required
            $("#field1, #field2, #field3, #field4").attr("required", "required");
        } else {
            // if all fields are empty, remove required attr
            $("#field1, #field2, #field3, #field4").removeAttr("required");
        }
        // destroy ParsleyForm instance
        $('#myForm').parsley().destroy();

        // bind parsley
        $('#myForm').parsley();
    });

    $("#myForm" ).on('submit', function( event ) {
        $(this).parsley().validate();
        if ($(this).parsley().isValid()) {
            alert('form is valid');
        }
        event.preventDefault();
    });

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM