Parsley自定义验证器不适用于javascript安装

时间:2014-06-16 14:33:18

标签: parsley.js

我使用最简单的自定义验证器获得最简单的形式,但它不起作用,请参阅http://jsfiddle.net/M55M4/有什么问题?

<form id="myform">
    <input type="text" data-parsley-myvalidator="foo" data-parsley-required />
    <input type="submit" />
</form>
$('#myform').parsley({
    validators: {
        myvalidator: function () {
            return {
                validate: function (value, requirements) {
                    alert('myvalidator');
                    return false;
                },
                priority: 32
            }
        }
    },
    messages: {
        myvalidator: 'my validator failed'
    }
});

2 个答案:

答案 0 :(得分:13)

如果Parsley js版本不重要,我建议您将其更新为最新版本 - v.2.0.2。 根据新API,自定义验证器应按以下方式定义(http://jsfiddle.net/M55M4/6/):

window.ParsleyValidator.addValidator('myvalidator', 
function (value, requirement) {
    alert('myvalidator');
    return false;
}, 32)
.addMessage('en', 'myvalidator', 'my validator failed');

答案 1 :(得分:2)

现已弃用接受的答案。

  

访问方法&#39; addValidator&#39;通过ParsleyValidator是   弃用。只需拨打&#39; window.Parsley.addValidator

自定义验证器示例:日期格式验证dd / mm / yyyy with momentJS:

<input type="text" required="" data-parsley-dateformat="date" />

window.Parsley.addValidator('dateformat', {
    validate: function(value, id) {
        var isValid = moment(value, "DD/MM/YYYY", true).isValid();
        return isValid;
    },
    messages: {
        en: 'Please provide date in format dd/mm/yyyy'
    }
}) 

这个关于plunker的Parsley v 2.6.0的例子: http://plnkr.co/edit/hYDd19uPbJzKRVf9IMsH?p=preview