Повторное использование валидаторов Zend на стороне клиента - PullRequest
2 голосов
/ 27 января 2011

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

Привет, ребята, у меня есть идея с пирогом в небе, и я просто задаюсь вопросом, возможно ли это хотя бы отдаленно, или я должен сдаться и попробовать что-то еще.

У меня есть куча форм Zend_Dojo_Form с кучей пользовательских валидаторов на стороне Zend - они работают нормально, ошибки формы появляются, когда значения неправильные, все работает точно так, как вы ожидаете, однако, что яЯ также хотел бы, чтобы те же самые валидаторы работали на стороне клиента формы Dojo - но без необходимости их полной реализации, валидатор с помощью валидатора.

Я понимаю, что на самом простом уровне Dojo isValidМетод не знает и не заботится о приложении, стоящем за ним, и даже для того, чтобы он мог даже получить доступ к ошибкам в приложении, которое он должен был бы предпринять, что не является обязательным, нокто-нибудь пробовал систему, похожую на:

  1. переопределить форму onSubmit, чтобы добавить наш код
  2. test Dojo isValid ()
  3. , если сторона Dojoсчастливый, AJAX отправил форму
  4. в случае успеха, которая будет возвращена, я не знаю как, затем переместимся на соответствующую страницу
  5. , если не удастся, тогда (и это гдея думаю, что это сложно) передать достаточно данных, чтобы узнать, в каком поле произошла ошибка, в чем была ошибка, а затем вызвать достаточное количество внутренних кишок Dojo isValid, чтобы форма выглядела так, как будто она не проверяется?1023 * Извините, что просто провожу подобные идеи, я просто подумал, что было бы очень полезно, если бы мы могли найти способ как-то глобально добавлять собственные валидаторы в наши формы, которые работают как на стороне клиента, так и на стороне сервера, без необходимости их реализацииуникально с обеих сторон.

Ответы [ 2 ]

3 голосов
/ 28 января 2011

Мех, додзё: (

Используйте Jquery:)

Посмотрите на это, это круто: Ajaxify Your Zend_Form Validation с помощью jQuery

Мы собираемся взять то, что было положено вместе в последних 3 видео и сейчас включить некоторые проверки на стороне сервера это появится асинхронно. это пример использования Zend_Form в качестве инструмент проверки через JSON.

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

Zend_Form имеет метод processAjax(), который можно использовать для проверки любого или всех элементов формы и возврата результата в кодировке JSON (true или список ошибок).

Таким образом, это можно использовать для предварительной проверки всей или части формы в обработчике события onsubmit; или даже для предварительной проверки полей отдельно в их обработчике события onchange.

...