在idealforms中禁用验证时遇到问题,我希望以下字段未经过验证
postcode3,memo2,previous_year,previous_month
直到current_year中的值小于3
$scope.canvas =
答案 0 :(得分:0)
假设您的其他代码是正确的,我认为问题是val()
会返回string
而不是number
。您需要像这样编写表达式
( parseInt( $('#current_year').val() ) < 3 ) : 'required' : '';
或将val()与数字的字符串值进行比较。
( $('#current_year').val() < '3' ) : 'required' : '';
修改强>
第二个问题是,一旦声明了规则,代码中的任何内容都不会更改规则。因此,如果onload $('#current_year').val()
小于3,则始终需要您的字段。
根据plugin docs,您可以在初始化插件后添加规则,如此
$('form').idealforms('addRules', {
'comments': 'required minmax:50:200'
});
所以你可以使用它来更新这样的规则。
$('#current_year').on("input", function() {
$('form.idealforms').idealforms('addRules', {
'postcode3': ( parseInt( $('#current_year').val() ) < 3) ? 'required' : '',
});
});