Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Привет всем.
После использования Yii никак не могу понять как наиболее правильнее проводить валидацию данных перед записью.
Понятное дело, что предпочтительным вариантом будит проводить валидацию в модели, но в Laravel это как-то очень криво выглядит, особенно если в форме присутствуют данные которые не предназначены для записи, но их так же нужно проверить (пример: пароль и повтор пароля на совпадение).
Если не затруднит - внесите ясность
Не в сети
В Laravel довольно свободная парадигма — например, вы можете использовать контроллеры, но есть также маршруты (обычные функции обратного вызова); вы можете использовать модели Eloquent, но они не связаны со структурой таблицы (нет списка/типов полей) и т.п.
В случае с проверкой ввода та же история: вы можете сделать для себя полную поддержку парадигмы и встроить в класс модели структуру таблицы и их валидацию, а можете сделать по простому — проверять данные в контроллере/маршруте, а модель использовать только для низкоуровневой работы с БД минуя проверки.
Пример такой проверки в маршруте приведён на главной странице этого сайта:
Route::get('/register', function () {
return View::make('forms.register');
});
Route::post('/register', function () {
$rules = array('login' => 'required|alpha_num|max:25');
$validation = Validator::make(Input::all(), $rules);
if ($validation->fails()) {
return Redirect::to('forms.register')->with_errors($validation);
}
});
Не в сети
Да, второй вариант конечно не совсем верный, но что ж.
Просто не хочится городить свои костыли.
З.Ы: Пробовал бандл FormBase_Model, но выглядит это как просто лишние тело движения.
В готовых примерах (tinyissue движок) то же ерунда. Люди, кони.. всё в куче, даже вьюхи в моделях формируются.
Не в сети
Страницы 1