Javascript 基金会4.3.2遵守No.Y.X27;t验证复选框 ZURB基金会4.3.2遵守验证不验证复选框。
虽然编写自己的自定义验证相对容易,但如果我可以更新库进行验证,这样我所在的这家大型机构的其他用户/开发人员也可以使用这些工具,而不必去挖掘自定义脚本,那就更好了Javascript 基金会4.3.2遵守No.Y.X27;t验证复选框 ZURB基金会4.3.2遵守验证不验证复选框。,javascript,validation,checkbox,zurb-foundation,Javascript,Validation,Checkbox,Zurb Foundation,虽然编写自己的自定义验证相对容易,但如果我可以更新库进行验证,这样我所在的这家大型机构的其他用户/开发人员也可以使用这些工具,而不必去挖掘自定义脚本,那就更好了 如何更新,使复选框验证工作,而不必更新基础5?-这个网站属于一个庞大的组织,升级需要几个月,人力,和大量的预算,我们没有。 下面是示例代码: <form id="form-name" data-abide="ajax"> <label for="print-checkbox"><input id="
如何更新,使复选框验证工作,而不必更新基础5?-这个网站属于一个庞大的组织,升级需要几个月,人力,和大量的预算,我们没有。 下面是示例代码:
<form id="form-name" data-abide="ajax">
<label for="print-checkbox"><input id="print-checkbox" type="checkbox" required name="print-checkbox"> <strong>Blah Blah Blah Label Text</strong>
<small class="error"><span class="icon-exclamation-sign"></span> A warning that only appears if the form doesn't validate.</small>
</label>
<input id="print-submit" type="submit" value="Submit" class="button small radius">
</form>
<script type="text/javascript">
$('#form-name').on('valid invalid submit', function (e) {
e.stopPropagation();
e.preventDefault();
if(e.type === "valid") {
alert("returns valid");
}
return false;
});
</script>
诸如此类的标签文本
仅当表单未验证时出现的警告。
$('#表单名称')。在('valid-invalid-submit',函数(e)上{
e、 停止传播();
e、 预防默认值();
如果(例如,类型==“有效”){
警报(“返回有效”);
}
返回false;
});
当然,起草这个问题让我开始思考一些解决方案,我找到了一个可行的解决方案
首先
接下来,我添加了一些逻辑来支持复选框
最后,我复制了无线电验证,做了一些小改动,瞧!复选框验证
下面是上面GIT链接中的函数,修改为包含复选框。请注意,添加了is\u checkbox…
和}否则(is\u checkbox&&required){
:
check_validation_and_apply_styles : function (el_patterns) {
var count = el_patterns.length,
validations = [];
for (var i = count - 1; i >= 0; i--) {
var el = el_patterns[i][0],
required = el_patterns[i][2],
value = el.value,
is_radio = el.type === "radio",
is_checkbox = el.type === "checkbox",
valid_length = (required) ? (el.value.length > 0) : true,
isVisible = $(el).is(":visible");
if (isVisible) {
if (is_radio && required) {
validations.push(this.valid_radio(el, required));
} else if (is_checkbox && required) {
validations.push(this.valid_checkbox(el, required));
} else {
if (el_patterns[i][1].test(value) && valid_length ||
!required && el.value.length < 1) {
$(el).removeAttr('data-invalid').parent().removeClass('error');
validations.push(true);
} else {
$(el).attr('data-invalid', '').parent().addClass('error');
validations.push(false);
}
}
}
}
return validations;
},
BAM.Zurb基金会的“复选框验证”遵守了4.2.3
我所需要的。你是一个令人敬畏的人。“EdccCy很乐意帮助!如果你对我有帮助的话,请一定要投赞成票!看起来我必须要问这个问题,但是在5.4.7的情况下是否有复选框验证?这是一个问题。@ CBMTRX基金会5使用Entand,它有复选框验证。看看这个页面,您可以看到他们的例子在顶部:我们发现它是DOM结构/优先事项:我们发现我们必须在代码< >(文档)之后放置我们的LINE验证(对于这个特定的表单)。.foundation(“回流”);语句。无论出于何种原因,这解决了我们的问题。谢谢。valid_radio : function (el, required) {
var name = el.getAttribute('name'),
group = document.getElementsByName(name),
count = group.length,
valid = false;
for (var i=0; i < count; i++) {
if (group[i].checked) valid = true;
}
for (var i=0; i < count; i++) {
if (valid) {
$(group[i]).removeAttr('data-invalid').parent().removeClass('error');
} else {
$(group[i]).attr('data-invalid', '').parent().addClass('error');
}
}
return valid;
},
valid_checkbox : function (el, required) {
var name = el.getAttribute('name'),
group = document.getElementsByName(name),
count = group.length,
valid = false;
for (var i=0; i < count; i++) {
if (group[i].checked) valid = true;
}
for (var i=0; i < count; i++) {
if (valid) {
$(group[i]).removeAttr('data-invalid').parent().removeClass('error');
} else {
$(group[i]).attr('data-invalid', '').parent().addClass('error');
}
}
return valid;
}