2016-12-16 3 views
1

カテゴリ名を更新していますが、私は一意にする必要があります。また、現在のレコードを更新することもできますが、検証中ではありません。更新フォームのカテゴリを無視する

例:

$this->validate($request, array(
       'category'   => 'required|unique:categories,name,:id|min:2' 
     )); 
+0

これはサーバー側の検証ですか? – Sona

+1

@ソニアレイディーこれはパトリックです。 (それはS.S.V.です) – Mihailo

答えて

1

unique()ルールの説明から:

時には、あなたは独自のチェック時に与えられたIDを無視することもできます。たとえば、ユーザーの名前、電子メールアドレス、および場所を含む「プロファイルの更新」画面を考えます。もちろん、電子メールアドレスが一意であることを確認する必要があります。ただし、ユーザーが電子メールフィールドではなく名前フィールドのみを変更した場合、ユーザーは電子メールアドレスの所有者であるため、検証エラーがスローされることは望ましくありません。

バリデーターにユーザーのIDを無視するように指示するために、Ruleクラスを使用してルールを流暢に定義します。この例では、検証ルールを配列として使用する代わりに配列として指定します。ルールを区切る文字:

use Illuminate\Validation\Rule; 

Validator::make($data, [ 
    'email' => [ 
     'required', 
     Rule::unique('users')->ignore($user->id), 
    ], 
]); 
関連する問題