Laravel에서 사용자 정의 검증 규칙을 작성하고 사용하려면 다음을 수행 할 수 있습니다.
사용자 정의 규칙 정의 :
규칙 객체를 사용하여 사용자 정의 유효성 검사 규칙을 정의 할 수 있습니다. Illuminate\Validation\Rules\Rule
확장하는 새 클래스를 만듭니다. 예를 들어, 필드에 특정 단어가 포함되어 있는지 확인하려면 ContainsWord
라는 클래스를 만들 수 있습니다.
<code class="php">use Illuminate\Contracts\Validation\Rule; class ContainsWord implements Rule { private $word; public function __construct($word) { $this->word = $word; } public function passes($attribute, $value) { return stripos($value, $this->word) !== false; } public function message() { return "The :attribute must contain the word :word."; } }</code>
사용자 정의 규칙 사용 :
컨트롤러 또는 양식 요청에서 사용자 정의 규칙을 사용하려면 규칙을 인스턴스화하여 validate
메소드로 전달할 수 있습니다.
<code class="php">use App\Rules\ContainsWord; $request->validate([ 'title' => ['required', new ContainsWord('Laravel')], ]);</code>
양식 요청에서 사용자 정의 규칙 사용 :
양식 요청을 사용하는 경우 rules
방법에 규칙을 포함시킬 수 있습니다.
<code class="php">use App\Rules\ContainsWord; use Illuminate\Foundation\Http\FormRequest; class StorePostRequest extends FormRequest { public function rules() { return [ 'title' => ['required', new ContainsWord('Laravel')], ]; } }</code>
Laravel에서 사용자 정의 검증 규칙을 사용하면 몇 가지 이점이 있습니다.
재사용 :
표현력 :
특성:
일관성:
테스트 가능성 :
고유 한 사용자 정의 규칙으로 Laravel의 검증 시스템을 확장하려면 다음을 수행 할 수 있습니다.
규칙 개체 사용 :
Illuminate\Validation\Rules\Rule
확장하는 클래스를 만들 수 있습니다. 이것은 복잡한 규칙에 선호되는 방법입니다.클로저 사용 :
간단한 규칙의 경우 유효성 검사 규칙 내에서 폐쇄를 정의 할 수 있습니다.
<code class="php">$request->validate([ 'title' => [ 'required', function ($attribute, $value, $fail) { if (stripos($value, 'Laravel') === false) { $fail('The '.$attribute.' must contain the word "Laravel".'); } }, ], ]);</code>
유효성 검사기 확장 :
Validator
검사기 정면을 확장하여 응용 프로그램 전체에서 사용할 수있는 새로운 규칙을 추가 할 수 있습니다.
<code class="php">use Illuminate\Support\Facades\Validator; Validator::extend('contains_word', function ($attribute, $value, $parameters, $validator) { $word = $parameters[0]; return stripos($value, $word) !== false; }); Validator::replacer('contains_word', function ($message, $attribute, $rule, $parameters) { return str_replace(':word', $parameters[0], $message); });</code>
그런 다음 유효성 검사에서 사용자 정의 규칙을 사용할 수 있습니다.
<code class="php">$request->validate([ 'title' => 'required|contains_word:Laravel', ]);</code>
Laravel에서 사용자 정의 검증 규칙 구현에 대한 예제와 자습서를 찾을 수있는 몇 가지 리소스가 있습니다.
Laravel 공식 문서 :
라라 카스트 :
라벨 뉴스 :
Github :
스택 오버플로 :
Laravel 커뮤니티 블로그 :
이러한 리소스를 활용하면 Laravel에서 사용자 정의 검증 규칙을 효과적으로 구현하는 방법에 대한 더 깊은 이해를 얻을 수 있습니다.
위 내용은 Laravel에서 사용자 정의 검증 규칙을 어떻게 작성하고 사용하려면?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!