我注意到我的自定义验证器没有被调用,如果我点击(x)并清除该字段。这是某种错误还是我这边的配置缺失?或者是Parsley的一个错误?
使用了Parsley,因为我用powermail运行了一个typo3项目,它自带Parsley 2.7.2。(我很快就用了2.9,但我得到了同样的行为)
<form data-parsley-validate>
<input type="date" value="validate" data-parsley-test="test" data-parsley-trigger="change">
<p id="changeOutput"></p>
<p id="addValidatorOutput"></p>
</form>
<button onclick="$('form').parsley().destroy();">destroy</button>
<script>
$(function () {
var name = $('form').parsley();
$("[type=date]").change(function() {
$("#changeOutput").html('change:'+Math.floor(Date.now() / 1000));
});
});
window.Parsley
.addValidator('test', {
requirementType: 'string',
validateString: function(value, requirement) {
$("#addValidatorOutput").html('addValidator:'+Math.floor(Date.now() / 1000));
return true;
}
});
</script>
Parsley不会(默认情况下)验证空字段。你可以添加 data-parsley-validate-if-empty
属性,即使用户点击 "x",你的验证器也会运行。