底辺SE奮闘記

年収300万SEブログ

【Laravel】一致バリデーションequalを作る

ごく稀に使いたくなるので、用意します。

環境

  • Laravel 5.4
  • PHP 5.6.9

実装

AppServiceProvider.phpに下記を記載します

<?php
namespace App\Providers;

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

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        // 追記部分
        Validator::extend("equal", function ($attrivute, $value, $parameters, $validator) {
            return $value == $parameters[0];
        });
    }
    /* 省略 */
}

利用時は下記のようにします

例:$request->hogehogeがfugafugaと一致するかどうか

<?php
// 省略
$this->validate($request, ["hogehoge" => "equal:fugafuga"]);