我正在使用symfony框架来开发一个网站。
我的表格看起来像这样
<li class="fields">
<label>Date de début* :</label>
div class="field">
<select id="agenda_date_debut_day" name="agenda[date_debut][day]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
<select id="agenda_date_debut_month" name="agenda[date_debut][month]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
<select id="agenda_date_debut_year" name="agenda[date_debut][year]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
</div>
</li>
<li class="fields">
<label>Date de début* :</label>
div class="field">
<select id="agenda_date_debut_day" name="agenda[date_debut][day]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
<select id="agenda_date_debut_month" name="agenda[date_debut][month]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
<select id="agenda_date_debut_year" name="agenda[date_debut][year]" class="required w_auto required">
<option selected="selected" value=""></option>
<option value="1">1</option>
...
</select>
</div>
</li>
我试过这样的东西,但它不起作用:
}
var validator = $(".validate_form").validate({
groups: {
/*dateDebut: '"agenda[date_debut][day]" "agenda[date_debut][month]" "agenda[date_debut][year]"'*/
dateDebut: "agenda[date_debut][day] agenda[date_debut][month] agenda[date_debut][year]"
},
errorPlacement: function(label, element) {
if (/^dateDebut/.test(element[0].name)) {
label.insertAfter("#agenda_date_debut_year");
}
...
}
...
我阅读了很多关于如何使用名称attribut的帖子,但我不知道如何处理我的。 正如我所说,我正在使用symfony,因此我无法更改属性名称以删除[]。
也许,可以改变插件使用id而不是名字,但我不知道怎么做。
有人可以帮助我,
THKS
答案 0 :(得分:0)
它实际上在名称中使用括号可以正常工作。
例如,我有:
$(document).ready(function(){
$("#coppa_users_form form").validate({
rules: {
"coppa_user[user_attributes][username]": {
required: true,
minlength: 3
}
},
messages: {
"coppa_user[user_attributes][username]": "<p class='errormsg'>Please enter at least three characters</p>"
}
});
});
这很好用。可能检查上面的JS中是否存在任何冲突?
答案 1 :(得分:-1)
您需要使用反斜杠转义括号以使正则表达式测试起作用:"agenda\[date_debut\]\[day\] agenda\[date_debut\]\[month\] agenda\[date_debut\]\[year\]"