유효성 검사
소개
Administrator는 Laravel validation 규칙을 사용해 모델 저장과 세팅 저장 데이터를 검증합니다. 검증 실패 시 저장하지 않고 관리자 화면에 오류를 반환합니다.
모델 설정의 rules
모델 설정 파일에 rules와 messages를 직접 정의할 수 있습니다.
php
return array(
'rules' => array(
'name' => 'required|string|max:255',
'email' => 'required|email',
),
'messages' => array(
'name.required' => '이름을 입력하십시오.',
),
);설정 파일의 rules가 있으면 모델 정적 속성보다 우선합니다.
모델 정적 rules
설정 파일에 rules를 두지 않으면 Eloquent 모델의 정적 $rules, $messages를 사용할 수 있습니다.
php
class User extends Model
{
public static $rules = array(
'name' => 'required|string|max:255',
'email' => 'required|email',
);
public static $messages = array(
'email.email' => '올바른 이메일 주소를 입력하십시오.',
);
}Form Request
모델 설정에는 Laravel Form Request 클래스를 지정할 수 있습니다.
php
return array(
'form_request' => App\Http\Requests\Admin\UserSaveRequest::class,
);저장 요청에서 Form Request 검증 오류가 있으면 Administrator는 저장을 중단하고 오류를 JSON 응답으로 반환합니다. Form Request의 authorize()와 rules()는 일반 Laravel 요청 검증과 같은 방식으로 작성합니다.
세팅 설정의 rules
세팅 설정 파일도 같은 형식의 rules, messages를 지원합니다.
php
return array(
'rules' => array(
'site_name' => 'required|max:50',
'admin_email' => 'required|email',
),
'messages' => array(
'site_name.required' => '사이트 이름을 입력하십시오.',
),
);사용자 정의 메시지
메시지 키는 Laravel의 사용자 정의 메시지 형식을 따릅니다.
php
'messages' => array(
'name.required' => '이름 필드는 필수입니다.',
'email.email' => '이메일 형식이 올바르지 않습니다.',
);