Проверка данных из формы CakePHP с помощью jQuery (AJAX) - PullRequest
1 голос
/ 02 февраля 2011

Я хотел бы проверить данные как для одного поля, так и для нескольких полей из формы CakePHP.Проверка отдельного поля должна выполняться по размытию каждого поля, тогда как проверка нескольких полей должна выполняться при отправке формы.

Я хотел бы использовать свойство $validate, объявленное в Модели, для проверки данных, и яхотел бы отображать ошибки рядом с каждым полем (проверка одного поля) и в верхней части формы (для проверки нескольких полей).

Моя главная цель - добиться этого наиболее «легкомысленным» способом (если естьодин для проверки данных с помощью jQuery).Я не смог найти ни одного полезного совета, и я прошу вас о помощи, чтобы все заработало.

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

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Я бы рекомендовал сначала убедиться, что все работает без jQuery, а затем использовать плагин jQuery Form для отправки ваших форм через AJAX.Если вы включите компонент RequestHandler в свой AppController, вы обнаружите, что ваши контроллеры автоматически различают AJAX и синхронные запросы.

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

ОК, поэтому я написал свое собственное решение для этого, но я все еще жду более "легкого" подхода.

Я сделал две универсальные функции jQuery, одну для проверки одного поля и одну для нескольких полейПроверка.Функция должна получить данные из указанной формы и отправить их в действие формы через AJAX, в специально созданный метод контроллера, который попытается проверить данные и вывести ответ AJAX ("" для проверки пройдено и errors дляошибки в валидации).Затем результат проверяется в функции jQuery, и поведение формы по умолчанию запускается, только если проверка прошла успешно.В противном случае отобразите ошибки и return false;, чтобы предотвратить отправку по умолчанию.

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