Validation input array laravel
Chào các bác, em có input dạng
<select name="question[$id][$var]">
em thử validation
'question.*' => 'required',
nhưng luôn luôn pass vì thằng question[] luôn tồn tại, còn thằng question[][] null thì validation không bắt được , bác nào giúp em với ạ
3 CÂU TRẢ LỜI
em mới edit câu hỏi anh xem dùm em với
@NanaCongchua Mình đoán thôi
'question.*.*' => 'required',
nhưng mà trường của bạn mình nghĩ sao cần thiết phải đặt name là question[$id][$var]
nhỉ. Đơn giản là bạn có 1 cái name cần truyền lên để check thì dùng thằng cái name là question
cũng được mà. Hay bạn muốn cái params truyền lên phải là array nhỉ. Nếu mà muốn truyền lên dạng array thì cũng phải thêm multiple
vào thẻ select
nữa
@huusu1996 cái select của em nằm trong 2 vòng for ạ. Em thử
foreach ($this->request->get('question') as $key => $value) {
$rule['question.'.$key.'.question.*'] = 'required';
}
thì chạy rồi ạ
Giá trị $id
có thể chưa được truyền vào nên request sẽ dùng là question[$id]
đấy, em check lại request xem
em viết thiếu, thực ra input có dạng <select name="question[$id][$var]"> nên check question.* luôn đúng, em nghĩ phải là question[].* mới đúng nhưng mà không biết viết kiểu gì ạ
$array = ['question' => 'required|array'];
foreach ($vars as $var) {
$array += ['question.*.' . $var => 'required'];
}