Laravel은 애플리케이션 입력 데이터의 유효성을 검사하는 다양한 방법을 제공합니다. 기본적으로 라라벨의 컨트롤러 기본 클래스는 다양하고 강력한 검증 규칙을 통해 들어오는 HTTP 요청을 검증하는 편리한 방법을 제공하는 ValidatesRequests 특성을 사용합니다. 이 글은 주로 라라벨의 고유성 및 존재 검증 규칙에 대한 관련 정보를 샘플 코드를 통해 자세히 소개하고 있으며, 모든 사람의 학습이나 업무에 도움이 되기를 바랍니다. .
Laravel의 ValidatesRequests 특성을 통해 요청을 확인하는 것은 매우 편리하며 BaseController 클래스에 자동으로 도입됩니다. Exitsts()와 Unique() 두 가지 규칙은 매우 강력하고 편리합니다.
사용 중에 데이터베이스의 기존 데이터를 확인해야 합니다. 일반적으로 다음과 같이 작성됩니다.
// exists example 'email' => 'exists:staff,account_id,1' // unique example 'email' => 'unique:users,email_address,$user->id,id,account_id,1'
위 작성 방법의 구문은 기억하기 어렵고 거의 매번 사용합니다. 문서를 확인하려면. 그러나 Laravel 버전 5.3.18부터 새로운 Rule 클래스를 통해 두 유효성 검사 규칙을 모두 단순화할 수 있습니다.
이제 아래의 친숙한 연결 구문을 사용하여 동일한 효과를 얻을 수 있습니다.
'email' => [ 'required', Rule::exists('staff')->where(function ($query) { $query->where('account_id', 1); }), ],
'email' => [ 'required', Rule::unique('users')->ignore($user->id)->where(function ($query) { $query->where('account_id', 1); }) ],
두 유효성 검사 규칙 모두 다음 연결 방법도 지원합니다.
where
whereNot
whereNull
whereNotNull
고유한 유효성 검사 규칙도 무시 메서드를 지원하므로 유효성 검사 중에 특정 데이터를 무시할 수 있습니다.
좋은 소식은 기존 쓰기 방식이 여전히 완벽하게 지원되며, 새 쓰기 방식에서는 실제로 하단의 formatWheres 메소드를 통해 기존 쓰기 방식으로 변환된다는 점입니다:
protected function formatWheres() { return collect($this->wheres)->map(function ($where) { return $where['column'].','.$where['value']; })->implode(','); }
관련 추천:
laravel5 .1 확인 규칙 알파는 중국어에 유효하지 않습니다.
PHP Yii 프레임워크 양식 유효성 검사 규칙 컬렉션
위 내용은 Laravel의 고유하고 존재하는 유효성 검사 규칙에 대한 최적화 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!