Mô hình Eloquent của tôi bao gồm 30 trường.Làm cách nào để tôi thực hiện một trong các trường được yêu cầu?
Validation Rule:
- Trường đầu tiên được cần
- Trong số 29 lĩnh vực khác, ít nhất một lĩnh vực là cần.
Kiểm tra tài liệu của Laravel 5.5, tôi tìm thấy quy tắc xác thực required_without_all
khá liên quan. Một cách để viết quy tắc xác thực ở trên sẽ là chỉ định trong mỗi trường trong số 29 trường required_without_all:field1,.....,field28
(nghĩa là các trường khác không bao gồm trường đầu tiên và trường đã cho)
Nhưng, điều này yêu cầu viết 28 tên trường trong quy tắc xác thực tất cả các trường trừ trường đầu tiên. Có cách tiếp cận đơn giản hơn, không dự phòng nào không?
Trong khi t mã trên làm việc, tôi đã thực hiện một chút thay đổi đối với nó khi tôi có thêm một số quy tắc cho 29 trường khác. Tôi đã thay đổi dòng này thành '$ rules [$ field]. = '| Required_without_all:'. implode (',', $ fields-> whereNotIn (null, [$ field]) -> toArray()); 'Sau khi thay đổi, nó không hoạt động nữa. Các quy tắc của tôi cho các trường này đôi khi là 'date_format: Y-m-d'' Nó có liên quan đến quy tắc' something' không? – Benedict
@Benedict thử '$ quy tắc [$ trường] = $ quy tắc [$ trường]. '| required_without_all:' .... ' –