【发布时间】:2019-06-20 00:30:42
【问题描述】:
我正在使用 parsley.js(2.8.1) 自定义验证器来检查服务器上是否已经存在输入代码。
一切正常,但parsley().isValid() 和parsley().validate() 在提交时返回null。
删除自定义验证器工作正常,但我无法从客户端检查服务器上存在的代码。
<form id="product-form">
[....]
<input id="product-code"
data-parsley-code="check-code" data-parsley-length="[3,32]"
type="text" class="form-control" required>
[....]
</form>
<script>
$(function(){
let formInstance = $('#product-form');
formInstance.parsley();
Parsley.addValidator('code', {
validateString: function(value, requirement) {
let xhr = $.post('/product/' + requirement + '/' + value);
return xhr.then(function (json) {
if (!json.status) {
return $.Deferred().reject(json.message)
}
})
},
messages: {en: 'Failed to check product code.'}
});
formInstance.on('submit', function(e) {
e.preventDefault();
console.log(formInstance.parsley().validate()); // returns null
console.log(formInstance.parsley().isValid()); // returns null
if (formInstance.parsley().isValid())) {
[.....]
}
}
[.....]
</script>
我想检查并提交表单并做 ajax 的事情。
【问题讨论】:
标签: jquery ajax forms validation parsley.js