지금 Laravel 4 유효성 확인 작업을하고 있습니다. 기본 설정이 완료되고 테스트됩니다. 보기에서 양식을 채우고 컨트롤러에 제출할 수 있습니다. 모델을 사용하여 모든 세부 사항을 데이터베이스에 저장할 수 있습니다. 유효성 검사에 지금 문제가 있습니다.laravel 4의 유효성 검사 사용법
나는 Input :: get()를 사용하여 컨트롤러에 게시 된 각 변수를 캡처합니다. 검증은 이상적으로 모델에서 수행되어야한다고 읽었습니다. 유효성 검사기를 어디에서 호출해야합니까? 모델 또는 컨트롤러? validator에 $ 입력을 어떻게 전달해야합니까? 그것이 게시 된 모든 변수의 배열입니까 아니면 내가 놓친 것입니까?
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 유효성 검사가 컨트롤러 또는 모델에서 발생합니까? 이것에 대한 명확한 정보는 없지만 로직이 주어진 컨트롤러는 짐작할 수 있습니다. – spacemonkey
건물에 무엇이 들어 있는지 선택하고 모델에 배치하려면 선택 사항이며,이 패키지를 체크 아웃해야합니다. https : // github .com/laravelbook/ardent, 많은 사람들이 내 자신을 포함하여 그것을 사용하여 많은 시간과 그 힘을 덜어 줄 것입니다. –
감사원이 컨트롤러에서 작동하도록했습니다. 일부 블로그의 권장 사항이 모델에서 사용하도록 명시되어 있지만 스토리지와 관련하여 로직이 아니며 데이터가 모델에 도달해서는 안된다는 전제하에 컨트롤러를 사용하기로 결정했습니다. – spacemonkey