如何从javascript调用内置的欧芹验证器?

时间:2015-05-12 13:33:00

标签: javascript jquery parsley.js

我正在使用版本的parsley js,版本2.0.7。我想从自定义验证器调用内置的parsley验证器。 例如,我希望属性data-parsley-customtype="number"的行为与data-parsley-type="numeric"完全相同。

有没有办法调用已定义的验证器?

4 个答案:

答案 0 :(得分:1)

我最后分析了一下欧芹验证器的源代码,我发现我可以使用这样的东西:

return window.ParsleyValidator.validate(value,
window.ParsleyValidator.validators.type("number"));

答案 1 :(得分:1)

所以你想重命名内置的pasley验证器? 你为什么要那样做? (只是好奇)

您可以定义新的自定义验证器并重新定义相同的逻辑。

尝试这样的事情:

window.Parsley.addValidator('customValidation', 
    function (value) {
        return true==(/^\d+$/.test(value)) // validates numbers 
    })
    .addMessage('en', 'customValidation', 'Your custom error message');

不要忘记将属性添加到元素中:

$("#element").attr('data-parsley-customValidation',$("#element").val());

答案 2 :(得分:0)

听起来不是一个好主意(当有标准时更好地使用标准),但您可以自己致电addConstraint

E.g。 (另):

$('[data-parsley-customtype]').each(function() {
  $(this).parsley().addConstraint('type', 'integer');
}

答案 3 :(得分:0)

这是我的React示例。 Parsley版本:“ parsleyjs”:“ ^ 2.9.1”

pandas

data-parsley-number

import Parsley from 'parsleyjs/dist/parsley.min.js';

export const addCustomValidator = (validatorName, validator) => {
    if(Parsley.hasValidator(validatorName)){
        Parsley.updateValidator(validatorName, validator);
    }else{
        Parsley.addValidator(validatorName, validator);
    }
}