#laravel-7 #laravel-livewire
#laravel-7 #laravel-livewire
Вопрос:
Я пытаюсь проверить массив, когда форма отправлена как
<input type="text" class="form-control" wire:model.lazy="data.name" placeholder="name">
//at livewire component class
$data = [
'name' => 'someValue',
'phone' => 'someValue',
'email' => 'someValue'
]
Я пытаюсь это
Validator::make($this->data,[
'name' => 'required',
...
])->validate();
но не работает, пожалуйста, помогите мне.
Ответ №1:
Вы можете проверить, используя тот же синтаксис, который вы использовали в wire:model
:
$this->validate([
'data.name' => ['required'],
]);
Комментарии:
1. Спасибо, что он тоже отображает ошибку, я должен сделать это на блейде
@error('data.name') ...
Ответ №2:
Я новичок в использовании Livewire, Idk, если это связано с вашим вопросом. Но, поскольку ваш вопрос находится на вершине в Google. Возможно, это поможет другим людям.
public function saveAdd()
{
$rules_state = [
'state_name' => 'required',
'state_email' => 'required',
];
$check_state = $this->inputsFormAddProduct;
foreach ($this->inputsFormAddProduct as $key => $value) {
$rules_state = array_merge($rules_state, [
'state_product.'.$value => 'required',
'state_qty.'.$value => 'required',
]);
}
$validatedData = $this->validate($rules_state,
[
'required' => 'The :attribute cannot be empty.',
],
);
dd($rules_state);
}