ユーザーアカウント情報を編集するためにこれを使用しています。
$this->validate($request, [
'password' => 'min:6',
'password_confirmation' => 'required_with:password|same:password|min:6'
]);
これはLaravel 5.2アプリケーションでは正常に機能しましたが、5.4アプリケーションでは機能しません。
ここで何が間違っているのですか、またはpassword
またはpassword_confirmation
フィールドのいずれかが設定されている場合にのみpassword
を必須にする正しい方法は何ですか?
確認済み 検証ルールを使用できます。
$this->validate($request, [
'name' => 'required|min:3|max:50',
'email' => 'email',
'vat_number' => 'max:13',
'password' => 'required|confirmed|min:6',
]);
このようにしてみてください、それは私のために働いた:
$this->validate($request, [
'name' => 'required|min:3|max:50',
'email' => 'email',
'vat_number' => 'max:13',
'password' => 'min:6|required_with:password_confirmation|same:password_confirmation',
'password_confirmation' => 'min:6'
]);`
ルールは常にペアの最初の入力で検証を持っているようです...
password_confirmationルールなしで確認してみてください:
$this->validate($request, [
'name' => 'required|min:3|max:50',
'email' => 'email',
'vat_number' => 'max:13',
'password' => 'confirmed|min:6',
]);
これを試して:
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required|min:6'
それで十分です:
$this->validate($request, [
'password' => 'nullable,min:6,confirmed',
]);
パスワードをオプションにしますが、存在する場合は、一致するpassword_confirmationが必要です