我是新来的基础验证。直到现在我正在使用模式&验证中定义的验证。 onblur事件被解雇了错误消息正在正确显示。 今天,我定义了自己的模式和验证
$(document).foundation({
abide: {
validate_on: 'manual',
patterns: {
positive_numbers_only: /^\d+$/,
telephone_number: /(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}/,
alphanumeric_spaces: /^[\w\s]+$/
},
validators: {
checkbox_limit: function (el, required, parent) {
"use strict";
var group = parent.closest('.checkbox-group');
var min = group.attr('data-abide-validator-min');
var checked = group.find(':checked').length;
if (checked == min) {
group.find('small.error').hide();
return true;
} else {
group.find('small.error').css({
display: 'block'
});
return false;
}
}
}
}
});
点击提交按钮时,验证功能正常,但模糊时无效。 我假设由于自定义验证,onblur事件没有被解雇。
注意:我使用两个按钮&创建了一个阴影提交按钮。单击该按钮,我将触发阴影提交按钮的点击事件。
提前致谢。
答案 0 :(得分:0)
我找到了解决方案here
我遇到的问题是,onblur不适合我,因为我在不同的div中有复选框。检查一下 -
<div class="row collapse">
<div class="small-16 columns">
<div class="row collapse">
<div class="small-16 columns">Do you agree to our terms & conditions?</div>
</div>
<div class="row collapse checkbox-group" data-abide-validator-min="1">
<div class="small-3 columns">
<label for="cbYes">
<input type="checkbox" id="cbYes" value="Yes" data-abide-validator="checkbox_limit" />Yes
</label>
</div>
<div class="small-3 columns end">
<label for="cbNo">
<input type="checkbox" id="cbNo" value="No" data-abide-validator="checkbox_limit" />No
</label>
<small class="error">Please agree to our terms & conditions.</small>
</div>
</div>
</div>
</div>
</div>
我创造了一个小提琴。 Check out
因此,为了克服onblur问题,我修改了foundation.abide.js文件。
我提供了评论,所以任何人都可以理解我在哪里做了更改。
希望它有所帮助。
从here
以最简单的方式了解有关Foundation Abide的更多信息