스스로 laavel 유효기간 규칙 제정(발리 데이터 사용자 정의)

8276 단어 Laravellaravel8
의 목적
  • 맞춤형 발리 데이터를 종합하여 발리의 일일 규칙을 작성하는 데 사용
  • 컨디션
  • 하드웨어 환경
  • 항목
    메시지
    OS
    macOS Big Sur(11.6)
    하드웨어
    MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
    프로세서
    2GHz 코어 Intel Core i5
    메모리
    32 GB 3733 MHz LPDDR4
    그래프
    Intel Iris Plus Graphics 1536 MB
  • 소프트웨어 환경
  • 항목
    메시지
    시험을 준비하다
    PHP 버전
    7.4.11
    Homebrew를 사용하여 이쪽으로 가져오기→Mac Homebrew로 PHP 설치
    Laavel 버전
    8.X
    composer를 사용하여 이쪽 방법으로 가져오기→Mac Laavel 환경 구축
    MySQL 버전
    8.0.21 for osx10.13 on x86_64
    Homwbrew를 사용하여 이쪽 방법으로 가져오기→Mac Homebrew를 사용하여 MySQL 설치
    개요
  • 다음 보도에서 처리한 라벨 앱에서 사용자 정의 발리 데이터를 제작하여 설정한다.
  • 이번에는 포스터content의 값이 숫자가 아니면 치는 독특한 발리일 규칙을 만들어 봤다.
  • 작업이 끝난 코드는 아래push에 있습니다.
  • https://github.com/miriwo0104/laravel8_easy_crud/tree/custom_validate
  • 메서드
  • laravel8_easy_crud/app 디렉토리 바로 아래에 Validator 디렉토리를 생성합니다.
  • laravel8_easy_crud/app/Validator는 바로 아래에 만들어진다CustomValidator.php는 다음과 같다.
    laravel8_easy_crud/app/Validator/CustomValidator.php
    <?php
    
    namespace App\Validator;
    
    use Illuminate\Validation\Validator;
    
    class CustomValidator extends Validator
    {
        public function validateNumOnly($attribute, $value)
        {
            return (preg_match("/^[0-9 ]+$/i", $value));
        }
    }
    

  • 열기AppServiceProvider.php는 다음과 같습니다.
    laravel8_easy_crud/app/Providers/AppServiceProvider.php
    <?php
    
    namespace App\Providers;
    
    use Illuminate\Support\ServiceProvider;
    use App\Validator\CustomValidator;
    
    class AppServiceProvider extends ServiceProvider
    {
        /**
         * Register any application services.
         *
         * @return void
         */
        public function register()
        {
            $this->app->bind(
                \App\Repositories\ContentRepositoryInterface::class,
                \App\Repositories\ContentRepository::class
            );
        }
    
        /**
         * Bootstrap any application services.
         *
         * @return void
         */
        public function boot()
        {
            \Validator::resolver(function($translator, $data, $rules, $messages) {
                return new CustomValidator($translator, $data, $rules, $messages);
            });
        }
    }
    

  • 테이블 요청 클래스를 다음과 같이 수정한 후 작성된 유효성 검사 규칙의 이름입니다.자신이 만든 검증 규칙을 사용하고자 하는 경우 CustomValidator류가 정의한 방법validate의 뒷부분을 스노키로 전환하여 기재한다.
    laravel8_easy_crud/app/Http/Requests/ContentRequest.php
    <?php
    
    namespace App\Http\Requests;
    
    use Illuminate\Foundation\Http\FormRequest;
    
    class ContentRequest extends FormRequest
    {
        /**
         * Determine if the user is authorized to make this request.
         *
         * @return bool
         */
        public function authorize()
        {
            return true;
        }
    
        /**
         * Get the validation rules that apply to the request.
         *
         * @return array
         */
        public function rules()
        {
            return [
                'content' => ['required', 'num-only'],
            ];
        }
    }
    

  • 확인

  • laavel의 로컬 서버 접근 URL/contents/create을 시작하고 수치 이외의 숫자를 입력하고 "발언"을 누르십시오.


  • 아래와 같이 입력 텍스트 상자에 사용자 정의 가시 데이터의 기본 오류 메시지를 표시하면 사용자가 만든 사용자 정의 가시 데이터가 정확하게 작용합니다.

  • 참고 문헌
  • https://techblog.styleedge.co.jp/entry/2019/10/09/163338
  • https://www.larajapan.com/2016/08/14/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-2-customvalidator%E3%82%92%E8%BF%BD%E5%8A%A0/
  • 좋은 웹페이지 즐겨찾기