Проверки JavaScript Rails на динамических вложенных модельных полях - PullRequest
1 голос
/ 17 января 2011

У меня есть форма вложенной модели, где пользователь может создать «проект», который может включать любое количество «задач», которые состоят из «имени» и «описания».Эти задачи динамически добавляются пользователем с помощью jQuery.

Я хочу предоставить клиентские проверки для полей в каждой из этих задач, в настоящее время я использую плагин livevalidation .

Проблема заключается в том, что полям ввода дается динамический идентификатор, основанный на текущем времени, поскольку они должны быть уникальными для Rails, чтобы выполнять свою работу при отправке формы.

Как я вижу,У меня есть два варианта:

  1. Каким-то образом заставить проверки javascript принимать подстановочный знак, так что каждый раз, когда добавляется задача, проверки могут быть установлены для ее полей на основе части ее идентификатора, котораяне изменяется.

  2. Создать необходимый встроенный JavaScript-код проверки одновременно с созданием задачи.

Будет ли работать вышеуказанное?есть ли лучшие варианты?Как я могу получить элемент, выбранный из частичного совпадения идентификатора в валидаторе?

Спасибо

1 Ответ

1 голос
/ 17 января 2011

Я бы рекомендовал использовать jQuery Validation Plugin .Он позволяет вам создавать проверки на основе имен атрибутов вместо их идентификаторов, и вы можете использовать один и тот же набор правил для разных форм:

validation = { rules: { "name": "required", "description": "required" } }
jQuery("#form-1").validate(validation);
jQuery("#form-2").validate(validation);

Если вы хотите передать явные идентификаторы, вы можете использовать функцию дляСгенерируйте свои правила:

function validation_rules(index){
  return {
    rules: {
      "name["+index+"]": "required",
      "description["+index+"]": "required"
    }
  };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...