我使用最简单的自定义验证器获得最简单的形式,但它不起作用,请参阅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'
}
});
答案 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