Я работаю с проверкой Laravel 4 прямо сейчас. Моя основная настройка выполнена и протестирована. Я могу заполнить форму и представить ее контроллеру. Я могу сохранить все данные в базе данных с помощью модели. У меня проблема с проверкой.использование валидации в laravel 4
Я использую Input :: get() для захвата каждой из опубликованных переменных в контроллере. Я читал, что в идеале в модели должно быть сделано подтверждение. где я должен вызывать валидатор? Модель или контроллер? и как я должен передать валидатору $ input? это массив всех опубликованных переменных или я что-то упускаю?
Документация Laravel 4 действительно не иллюстрирует примеры ответов на общие вопросы использования.
Это валидатор я создал в моей модели:
public static function validate($input)
{
$rules = array(
# place-holder for validation rules
'firstname' => 'Required|Min:3|Max:40|Alpha',
'lastname' => 'Required|Min:3|Max:40|Alpha',
'email' => 'Required|Between:3,64|Email|Unique:users',
'country' => 'Required',
'password' =>'Required|AlphaNum|Between:7,15|Confirmed',
'password_confirmation'=>'Required|AlphaNum|Between:7,15'
);
# validation code
$validator = Validator::make($input, $rules);
/*if($validator->passes()) {
} else {
# code for validation failure
}*/
}
контроллер:
public function register()
{
/*Create new user if no user with entered email exists. Use validator to ensure all fields are completed*/
$user = new User;
/*Handle input in POST*/
$email = Input::get('email');
$password = Input::get('password');
$passwordConfirmed = Input::get('password_confirmation');
$firstName = Input::get('firstname');
$lastName = Input::get('lastname');
$country = Input::get('country');
$user->email = $email;
$user->password = Hash::make($password);
$user->firstname = $firstName;
$user->lastname = $lastName;
$user->country = $country;
//$user->save();
$this->layout->content = View::make('test');
}
и я следовал this link до сих пор, когда речь идет о проверке. Пожалуйста, помогите, как я новичок в этих рамках
Sho uld проверка выполняется в контроллере или модели? Нет четкой информации об этом, но я бы догадался, что контроллер дал ему логику – spacemonkey
выберите то, что когда-либо подходит вашему приложению, что вы строите, но его необязательно разместить в моделях, и одна вещь проверит этот пакет https: // github .com/laravelbook/ardent, многие люди используют его, включая мое «я», сэкономит вам много времени и его мощный –
Спасибо, что он работает от контроллера. Хотя рекомендации в некоторых блогах утверждают, что используют его в модели, я решил пойти с контроллером, учитывая, что он логичен, и данные никогда не должны достигать модели, если не готовы к хранению. – spacemonkey