2017-12-19 3 views
0

ユーザがプロファイルを更新するためのバリデータを持っており、同じページでユーザがパスワードを変更することができます。しかし、私はすべての3つのフィールド(現在のパスワード、新規/確認済み)が空であれば、チェックを実行したくありません。フィールドが空でない場合にバリデータのチェックを追加する

Validator::makeのカスタムチェックに追加して確認したり、バリデーターに追加してエラーのあるページを追加する方法はありますか?彼らは記入している場合はどのような...私はチェックのためにこれを追加することができますが

$validator = Validator::make($request->all(), [ 
     'first_name' => 'required|max:191', 
     'last_name' => 'required|max:191', 
     'email' => 'required|email|max:191' 
     ]); 

例3フィールドは

if ($request->new_password) { 
$validator .= array('new_password' => 'required'); 
} 

例は空であり、問​​題になることwouldntは私の最後の解決策は2つのバリデータを持つことです...それはうまくいくのでしょうか?

答えて

1

これは、ルールリストにsometimesを追加することで実現できます。 sometimesは、そのフィールドが入力配列に存在する場合にのみ、そのフィールドに対する検証チェックを実行します。例として、

$v = Validator::make($data, [ 
'email' => 'sometimes|required|email', 
]); 

詳細については、Laravel Validator Documentationを参照してください。

関連する問題