【问题标题】:Parsleyjs removing constraint and re-evaluating field?Parsleyjs 删除约束并重新评估字段?
【发布时间】:2013-09-24 21:00:07
【问题描述】:

我有一个非常大的表单,其中包含用户可以启用和禁用的各个部分。在这些部分中,我有用于验证的带有欧芹数据属性的字段。我想在禁用该部分时删除这些字段的验证属性,并在启用该部分时将它们添加回来。我已经尝试使用 addConstraint 和 removeConstraint javascript 来执行此操作,如下所示:

    function ToggleVehicleInfo(toggleState) {
        if (toggleState) {
            $("#tbVehicleLicenseNumber").parsley('removeConstraint', 'required');
        } else {
            $("#tbVehicleLicenseNumber").parsley('addConstraint', { required: true });
        }
    }

但这似乎只是删除了 parsley-error 类,而不是错误文本。有时它对球场根本没有任何影响。见下文 - 顶部是该字段已通过标签,底部是在我尝试删除所需的约束之后:

所以我的问题是,我做错了什么?另外,有没有更好的方法来处理这个问题?有没有完整的例子说明这是如何完成的?

【问题讨论】:

    标签: jquery validation parsley.js


    【解决方案1】:

    您是否尝试过使用侦听器仅处理表单的相关部分,而不是添加和删除约束?

    这是我在验证期间忽略隐藏字段的一个(使用 jquery):

        listeners: {
            onFieldValidate: function ( elem, ParsleyField ) {
                // if field is not visible, do not apply Parsley validation!
                if ( !$( elem ).is( ':visible' ) ) {
                    return true;
                }
                return false;
            }
        }
    

    您可能会设置一些指示符来指示您正在验证表单的哪个部分,如果当前字段不在该部分中,则通过返回 false 来跳过它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多