Поведение для проверки данных / CakePhp - PullRequest
1 голос
/ 16 января 2011

Я новичок в CakePHP, но у меня есть вопрос, чтобы подтвердить мое общее понимание.Я пишу заявление для компании по обучению полету, которая должна быть в состоянии иметь дело с летными записями.Если кто-то входит в рейс, необходимо выполнить много заданий, чтобы проверить правильность введенных данных.Так что это не просто проверка записи с помощью методов, которые предоставляет модель (например, проверка поля, если введенное время является действительным), это еще кое-что, что нужно сделать, например, проверить, не взлетел ли он до того, как приземлился (по времени).Даже вопрос, есть ли уже запись полета в тот же период времени.

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

1 Ответ

0 голосов
/ 16 января 2011

Вам, вероятно, следует создать метод в вашей модели, возвращающий либо true, либо false.Я не думаю, что метод beforeInsert подходит для этого - вы будете получать ошибки вставки базы данных вместе с ошибками проверки.Я полагаю, вы хотели бы показать пользователю ошибки проверки?

function validateRecord($record) {

   $return = array("bool" => true, "message" => "");

   // validation step failed

   $return['bool'] = false;
   $return['message'] = "Validation failed because etc etc";

   return $return;
}
...