Jquery Parsleyjs移除约束并重新评估字段?

Jquery Parsleyjs移除约束并重新评估字段?,jquery,validation,parsley.js,Jquery,Validation,Parsley.js,我有一个非常大的表单,其中包含可以由用户启用和禁用的各个部分。在这些部分中,我使用了带有欧芹数据属性的字段进行验证。我想在节被禁用时删除这些字段的验证属性,并在节被启用时重新添加这些属性。我已尝试使用addConstraint和removeConstraint javascript执行此操作,如下所示: function ToggleVehicleInfo(toggleState) { if (toggleState) { $("#tbVehicl

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

    function ToggleVehicleInfo(toggleState) {
        if (toggleState) {
            $("#tbVehicleLicenseNumber").parsley('removeConstraint', 'required');
        } else {
            $("#tbVehicleLicenseNumber").parsley('addConstraint', { required: true });
        }
    }
但这似乎只是删除了欧芹错误类,而不是错误文本。有时它对场地没有任何影响。请参见下面的内容-顶部是在字段被勾选时,底部是在我尝试删除所需约束后:


所以我的问题是,我做错了什么?还有,有没有更好的处理方法?有没有完整的示例可以说明这一点?

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

下面是一个我在验证过程中用来忽略隐藏字段的字段(使用jquery):

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

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