>  기사  >  백엔드 개발  >  Laravel의 고유하고 존재하는 유효성 검사 규칙에 대한 최적화 방법

Laravel의 고유하고 존재하는 유효성 검사 규칙에 대한 최적화 방법

小云云
小云云원래의
2018-01-29 09:29:512090검색

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 프레임워크 양식 유효성 검사 규칙 컬렉션

YII 양식 유효성 검사 규칙 컬렉션

위 내용은 Laravel의 고유하고 존재하는 유효성 검사 규칙에 대한 최적화 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.