我在运行时创建动态复选框。我的要求是必须验证是否选中了至少一个复选框。我是用springJS做的。但要验证我必须将checkBox Id传递给spring Validation,但是这个ID数组在运行时创建。我怎么能实现这个目标?我尝试了所有的解决方案,但它并没有为我工作。我正在做这样的事情,如果我硬编码复选框id。
<script type="text/javascript">
Spring.addDecoration(
new Spring.ElementDecoration({
elementId: '_CheckBox_ids',
widgetType: 'dijit.form.CheckBox',
widgetModule: 'dijit.form.CheckBox',
validate: function () {
if (dojo.query("#roo_apiUser_profile > input[type=checkbox]", 'dijit.form').filter(function (n) {
return n.checked;
}).length > 0) {
return true;
} else {
alert('choose at least one profile');
return false;
}
},
widgetAttrs: {
required: true
}
}));
</script>
答案 0 :(得分:0)
您可以在form标记中添加onsubmit
属性,并调用一个对复选框进行验证的函数。
或者,您可以使用AbstractElementDecoration
创建自己的spring.js
扩展(在dojo.declare
中定义),并将validate
属性传递给将执行复选框验证的函数为了你。对于elementId
,您可以传递包含所有复选框的id
元素的div
。 Spring.ValidateAllDecoration
调用Spring.validateAll
函数。请务必在AbstractElementDecoration
扩展名中进行必要的调整,以便Spring.validateAll
中没有例外。