Laravel 8 使用擴展

2021-07-17 16:41 更新

另一種注冊自定義校驗規(guī)則的方式是在 Validator 門面 中使用 extend 方法。接下來,讓我們在 服務提供者 中使用這個方法來注冊一個自定義校驗規(guī)則:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Validator;

class AppServiceProvider extends ServiceProvider
{
    /**
     * 注冊服務提供器
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * 驅動應用服務
     *
     * @return void
     */
    public function boot()
    {
        Validator::extend('foo', function ($attribute, $value, $parameters, $validator) {
            return $value == 'foo';
        });
    }
}

自定義校驗閉包函數接收四個參數:要被驗證的屬性名稱 $attribute ,要被驗證的屬性值 $value ,傳入驗證規(guī)則的參數數組 $parameters 以及 Validator 實例。

您亦可通過傳遞類和方法到 extend 方法中來代替閉包:

Validator::extend('foo', 'FooValidator@validate');


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號