2つのフィールドが別の値に設定されている場合にのみ必要なフォームにフィールドがあります。これはrequired_with_allのケースではありません。 ITは設定されていなければ、それが具体的に設定されていればそれを示します。複数の他のフィールドの値を検証するカスタムLaravel 5バリデータを作成して使用する方法
例:'FOO' => 'required_if_all:バー、2、バット、1'、
私は、サービスプロバイダを追加しました:
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Validator;
class RequiredIfAllProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
Validator::extend('required_if_all', function($attribute,$value,$parameters){
// Is required if the list of key/value pairs are matching
$pairs = [];
foreach($parameters as $kp => $vp) $pairs[$kp] = $vp;
foreach($pairs as $kp => $vp) if(\Request::input($kp) != $vp) return false;
return true;
});
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
そして私はApp\Providers\RequiredIfAllProvider
を使用してください;私のカスタムリクエストファイルの一番上にあります。
バリデーションに基づくパラメータに基づいてbarとbatの両方が設定されている場合は、新しいエラーをエラーバッグに追加する必要があります。
私はこれにかなり費やしました。何か案は?
だけで、ログインコントローラを探します。 laravel 5以降では、私は彼らがあなたの必要な値などを追加するだけで 'auth'を 'trait'に移したと思います。 – Gokigooooks
これはloginまたはauthとは関係ありません。目標は、サイト全体で利用可能な検証ルールです。 –
申し訳ありませんが、私は検証に固執しました。とにかく、laravel 5.1では、独自の関数と変数のセットをコントローラに適用することができます。そこにあなたの検証を加えることができるので、どこにでも注入することができます。 – Gokigooooks