У меня проблема при обновлении ресурса. В панели администратора моей компании у нас есть доступ к пользователям, и мы можем редактировать их данные. В большинстве случаев мы не будем обновлять пароль, поэтому поле будет пустым, но база данных не принимает пароль как нулевой. Есть ли какое-либо правило, которое можно добавить в мой FormRequest, которое игнорирует поле, если поле имеет значение NULL? Я просмотрел документы, но не нашел, как это сделать.
Метод html, если отправка с method('patch')
.
Запрос:
public function rules()
{
return [
'user_id' => ['bail', 'required', 'numeric'],
'name' => ['bail', 'required', 'string'],
'user_name' => ['bail', 'required', 'string'],
'email' => ['bail', 'required', 'email:rfc,dns,filter'],
'password' => ['nullable'],
'groups' => ['bail', 'required'],
'groups.*' => ['numeric'],
];
}
РЕДАКТИРОВАТЬ 1: Я мог бы удалить пароль из проверенных данных, если пароль равен нулю, но не кажется, что это правильный способ сделать это.
// If the user inserted a new password, HASH it
if ($validated_data['password'] !== null)
{
$validated_data['password'] = Hash::make($validated_data['password']);
} else {
unset($validated_data['password']);
}
dd($validated_data);
С уважением