我在typo3中使用旧版本的powermail扩展程序。 这个分机。创建以下标记:
<input type="checkbox" id="uid53_0" value="1" name="tx_powermail_pi1[uid53][0]">
<input type="checkbox" id="uid53_1" value="2" name="tx_powermail_pi1[uid53][1]">
<input type="checkbox" id="uid53_2" value="3" name="tx_powermail_pi1[uid53][2]">
所以这些名字并不完全相同。
我已尝试使用此代码段验证:
$('#formid').validate({
rules: {
'tx_powermail_pi1[uid53]': {
required: true
}
}
但是可以肯定的是,由于名称属性中的数字,它无法正常工作。
我认为tx_powermail_pi1[uid53][*]
部分中的通配符rules:
可能有所帮助,但事实并非如此。
我希望必须检查此组中至少1个复选框。
答案 0 :(得分:0)
如果您只想在一个组中设置一个复选框(当该组的每个成员具有不同的name
时),请使用require_from_group
的{{1}}方法。
您还可以在jQuery .each()
中使用the additional-methods.js
file来保存多行代码。
以 tx_powermail_pi1[uid53]
开头的所有元素定位。
$('input[name^="tx_powermail_pi1[uid53]"]').each(function () {
$(this).rules('add', {
require_from_group: [1, this],
messages: {
require_from_group: "please check one"
}
});
});
然后将所有三个重复的消息合并为一个,使用groups
选项...
$('#formid').validate({
// other rules & options
groups: {
checkbox: 'tx_powermail_pi1[uid53][0] tx_powermail_pi1[uid53][3] tx_powermail_pi1[uid53][4]'
}
});
工作演示:the .rules()
method