2017-12-20 12 views
0

私はfirstname、middlename、およびlastnameフィールドを持つフォームを持っています。私はそれらの3つすべてを検証して、そのレコードと同一の従業員がいないようにしたいと考えました。同じユーザーがいる場合、私はMessageBagにエラーを投げたいと思っていました。あなたはLaravelの検証コンポーネントによって提供さユニーク検証を使用したいと思うLaravel 5.5複数の属性の検証を追加する

答えて

0

、あなたはまた、これに代えて、あなたのFormRequestの内側にこのコードを置くことができます。

ユニーク

:[TABLE_NAME]、[COLUMN_NAME]

$validator = Validator::make($request->all(), [ 
    'first_name' => 'unique:employees,first_name', 
    'middle_name' => 'unique:employees,middle_name', 
    'last_name' => 'unique:employees,last_name' 
]); 

だけwithErrorsを使用して$validatorを渡し、エラーの袋を取得します。

+0

たとえば、John Doeという名前の従業員がいて、入力がJohn Smithの場合、最初の名前は一意ではないため、errorbag​​が既にトリガーされます。私が望むのは、3つのファーストネーム、ミドルネーム、ラストネームがすべてユニークであることです。 –

+0

これを見てください:https://stackoverflow.com/questions/41690951/how-to-add-unique-validation-on-combination最初の名前と最後の名前は、laravelです。さらに、名前の列があることをお勧めします。その名前の従業員がすでに存在する場合は、比較する必要があります。 – Wreigh

関連する問題