<span><span><?php </span></span><span> </span><span><span>namespace RocketCandy<span>\Services\Validation</span>; </span></span><span> </span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator; </span></span><span> </span><span><span>class ValidatorExtended extends IlluminateValidator { </span></span><span> </span><span> <span>private $_custom_messages = array( </span></span><span> <span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.", </span></span><span> <span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.", </span></span><span> <span>); </span></span><span> </span><span> <span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) { </span></span><span> <span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes ); </span></span><span> </span><span> <span>$this->_set_custom_stuff(); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Setup any customizations etc </span></span><span><span> * </span></span><span><span> * <span>@return <span>void</span> </span></span></span><span><span> */ </span></span><span> <span>protected function _set_custom_stuff() { </span></span><span> <span>//setup our custom error messages </span></span><span> <span>$this->setCustomMessages( $this->_custom_messages ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, spaces and dashes (hyphens and underscores) </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaDashSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span> <span>/** </span></span><span><span> * Allow only alphabets, numbers, and spaces </span></span><span><span> * </span></span><span><span> * <span>@param <span>string</span> $attribute </span></span></span><span><span> * <span>@param <span>mixed</span> $value </span></span></span><span><span> * <span>@return <span>bool</span> </span></span></span><span><span> */ </span></span><span> <span>protected function validateAlphaNumSpaces( $attribute, $value ) { </span></span><span> <span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value ); </span></span><span> <span>} </span></span><span> </span><span><span>} //end of class </span></span><span> </span><span> </span><span><span>//EOF</span></span>
Laravel Docs는 우리가 이것을 할 수 있다고 말합니다
Laravel에 유효성 검사 오류 메시지를 어떻게 표시합니까? Laravel을 사용하면 뷰에 유효성 검사 오류 메시지를 쉽게 표시 할 수 있습니다. 유효성 검사가 실패하면 Laravel은 세션에 저장된 모든 유효성 검사 오류를 사용하여 사용자를 이전 위치로 다시 리디렉션합니다. 그런 다음 Laravel의 모든보기에 자동으로 제공되는 $ 오류 변수를 사용하여 이러한 오류를 표시 할 수 있습니다. Laravel은 "DOT 표기법"을 사용하여 배열을 검증하는 편리한 방법을 제공합니다. 검증 할 배열 필드를 지정한 다음 유효성 검사 규칙을 적용 할 수 있습니다. 예를 들어, 이메일 배열이 있으면 '이메일'유효성 검사 규칙을 사용하여 배열에서 각 이메일을 유효성을 유지할 수 있습니다. Laravel은 'File', 'File', '와 같은 파일 업로드에 대한 몇 가지 유효성 검사 규칙을 제공합니다. 이미지 ','Mimes '및'size '. 이 규칙은 업로드 된 파일의 유형과 크기를 검증하여 응용 프로그램의 요구 사항을 충족시킬 수 있습니다. <span><span><?php
</span></span><span>
</span><span><span>namespace RocketCandy<span>\Services\Validation</span>;
</span></span><span>
</span><span><span>use Illuminate<span>\Validation\Validator</span> as IlluminateValidator;
</span></span><span>
</span><span><span>class ValidatorExtended extends IlluminateValidator {
</span></span><span>
</span><span> <span>private $_custom_messages = array(
</span></span><span> <span>"alpha_dash_spaces" => "The :attribute may only contain letters, spaces, and dashes.",
</span></span><span> <span>"alpha_num_spaces" => "The :attribute may only contain letters, numbers, and spaces.",
</span></span><span> <span>);
</span></span><span>
</span><span> <span>public function __construct( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
</span></span><span> <span><span>parent::</span>__construct( $translator, $data, $rules, $messages, $customAttributes );
</span></span><span>
</span><span> <span>$this->_set_custom_stuff();
</span></span><span> <span>}
</span></span><span>
</span><span> <span>/**
</span></span><span><span> * Setup any customizations etc
</span></span><span><span> *
</span></span><span><span> * <span>@return <span>void</span>
</span></span></span><span><span> */
</span></span><span> <span>protected function _set_custom_stuff() {
</span></span><span> <span>//setup our custom error messages
</span></span><span> <span>$this->setCustomMessages( $this->_custom_messages );
</span></span><span> <span>}
</span></span><span>
</span><span> <span>/**
</span></span><span><span> * Allow only alphabets, spaces and dashes (hyphens and underscores)
</span></span><span><span> *
</span></span><span><span> * <span>@param <span>string</span> $attribute
</span></span></span><span><span> * <span>@param <span>mixed</span> $value
</span></span></span><span><span> * <span>@return <span>bool</span>
</span></span></span><span><span> */
</span></span><span> <span>protected function validateAlphaDashSpaces( $attribute, $value ) {
</span></span><span> <span>return (bool) preg_match( "/^[A-Za-z\s-_]+$/", $value );
</span></span><span> <span>}
</span></span><span>
</span><span> <span>/**
</span></span><span><span> * Allow only alphabets, numbers, and spaces
</span></span><span><span> *
</span></span><span><span> * <span>@param <span>string</span> $attribute
</span></span></span><span><span> * <span>@param <span>mixed</span> $value
</span></span></span><span><span> * <span>@return <span>bool</span>
</span></span></span><span><span> */
</span></span><span> <span>protected function validateAlphaNumSpaces( $attribute, $value ) {
</span></span><span> <span>return (bool) preg_match( "/^[A-Za-z0-9\s]+$/", $value );
</span></span><span> <span>}
</span></span><span>
</span><span><span>} //end of class
</span></span><span>
</span><span>
</span><span><span>//EOF</span></span>
<span>Validator<span>::</span>resolver( function( $translator, $data, $rules, $messages ) {
</span> <span>return new <span>\RocketCandy\Services\Validation\ValidatorExtended</span>( $translator, $data, $rules, $messages );
</span><span>} );</span>
생각이 있습니까? 질문? 댓글에 발사하십시오. Laravel은 데이터 검증을위한 강력하고 유연한 시스템을 제공하는 인기있는 PHP 프레임 워크입니다. 데이터에 쉽게 적용 할 수있는 다양한 검증 규칙을 제공하여 처리되기 전에 필요한 표준을 충족하도록합니다. Laravel의 유효성 검사 시스템을 사용하면 사용자 정의 검증 규칙이 허용되어 데이터 검증에 대한 자체 기준을 정의 할 수 있습니다. 이것은 Laravel의 내장 검증 규칙에 따라 다루지 않는 방식으로 데이터를 검증해야 할 때 특히 유용 할 수 있습니다.
예, Laravel을 사용하면 내장 유효성 검사 규칙을 사용자 정의 규칙과 함께 사용할 수 있습니다. 유효성 검사 로직에서 유효성 검사 규칙을 함께 체인하여 수행 할 수 있습니다. 예를 들어, '필수'규칙을 사용하여 필드가 비어 있지 않은지 확인한 다음 사용자 정의 규칙을 사용하여 데이터 형식을 검증 할 수 있습니다. . 예, Laravel을 사용하면 사용자 정의 유효성 검사 규칙에 대한 오류 메시지를 사용자 정의 할 수 있습니다. 이는 언어 파일로 사용자 정의 메시지를 정의한 다음 유효성 검사 로직에서 이러한 메시지를 참조하여 수행 할 수 있습니다. 이렇게하면 오류 메시지를 응용 프로그램의 특정 요구에 맞게 조정할 수있는 유연성을 제공합니다.
Laravel의 배열을 검증하는 방법
Laravel에서 파일 업로드를 검증하는 방법
예, 사용할 수 있습니다. 양식 요청의 사용자 정의 검증 규칙. 양식 요청 클래스의 규칙 메소드에서 규칙을 정의하여 수행 할 수 있습니다. 그런 다음 양식 요청 데이터를 검증 할 때이 규칙을 사용할 수 있습니다.
Laravel에서 유효성 검사가 실패하면 사용자를 이전 위치로 자동 리디렉션합니다. 세션에 저장된 모든 유효성 검사 오류가 있습니다. 그런 다음 뷰에서 이러한 오류를 처리하여 응용 프로그램에 적합한 방식으로 사용자에게 표시 할 수 있습니다.
위 내용은 Laravel의 데이터 유효성 검사 : 올바른 방법 - 사용자 정의 유효성 검사기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!