我有一个表单,我需要显示“预期值”,以反馈特定字段未验证的原因。
此预期值随着输入的不同而变化,如下所示:
var varOne = $('#id_iNeedToCheck').val() ;
var varTwo = $('#id_iNeedToCheck2').val() ;
var expectedValue = ( varOne / 28) + (varTwo / 10) + 8 ;
$('#id_iNeedToCheck').change(function(){
return [varOne = $('#id_iNeedToCheck').val(),expectedValue = (varOne / 28) + (varTwo / 10) + 8] ;
});
然后自定义验证如下所示:
window.Parsley.addValidator('myValidator', {
validateNumber: function(value) {
if (value > expectedValue) {
return value - expectedValue <= 7 ;
}
else {
return expectedValue - value <= 7;
}
},
requirementType: 'string',
messages: {
en: 'Your input differs too much from what we expect, we expect ' + expectedValue + ', and your input can not be 7 more or 7 less than this value.'
}
});
内
messages: {
en: 'Your input differs too much from what we expect, we expect ' + expectedValue + ', and your input can not be 7 more or 7 less than this value.'
}
这个值永远不会更新,因为看起来这个值只被解析一次,而自定义验证器经常被重新分析并按“预期”工作。
当“expectedValue”不断变化时,如何确保更新/重新分析此消息?
处理相互依赖是很棘手的。你可以从this example激励自己。