【问题标题】:Parsley.js Validation if 1 of 4 Fields Has a ValueParsley.js 验证是否 4 个字段中的 1 个具有值
【发布时间】:2014-11-16 15:05:00
【问题描述】:

在一个表单上有 4 个文本输入。
如果其中至少有 1 个具有值,则所有剩余字段都必须具有值。
是否可以为此验证配置 Parsley.js?

【问题讨论】:

    标签: javascript html validation parsley.js


    【解决方案1】:

    是的,这是可能的。但是,没有默认配置。

    这意味着您必须在 javascript 中创建该逻辑并在每种情况下销毁/绑定欧芹。

    看看这段代码 (jsfiddle available):

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

    【讨论】:

    猜你喜欢
    • 2018-02-14
    • 2011-06-11
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多