JQuery проверить комплексную группу дат с помощью скобок в имени - PullRequest
1 голос
/ 02 февраля 2011

Я использую Symfony Framework для разработки веб-сайта. Моя форма выглядит так </p> <pre><code><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>

Я пробовал что-то вроде этого, но это не сработало: </p> <pre><code>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"); } ... } ...

}

Я прочитал много постов о том, как использовать имя атрибута, но я не понимаю, как поступить с моим. Как я уже сказал, я использую Symfony, поэтому я не могу изменить имя атрибута, чтобы удалить [].

Возможно, возможно изменить плагин, чтобы использовать id вместо имени, но я не понимаю, как это сделать.

Кто-нибудь может мне помочь, пожалуйста

Thks

Ответы [ 2 ]

0 голосов
/ 11 октября 2012

На самом деле работает нормально с скобками в названии.

Например, у меня есть:

$(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 выше, где это вызывается?

0 голосов
/ 10 февраля 2011

Вам нужно экранировать скобки с обратной косой чертой, чтобы тест на регулярное выражение работал: "agenda\[date_debut\]\[day\] agenda\[date_debut\]\[month\] agenda\[date_debut\]\[year\]"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...