ClassPackageUnitRequest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. class ClassPackageUnitRequest extends FormRequest
  5. {
  6. public function rules(): array
  7. {
  8. $required = $this->isMethod('POST') ? 'required' : 'sometimes';
  9. return [
  10. 'name' => "$required|string|max:255",
  11. 'quantity_classes' => "$required|integer|min:1",
  12. 'contract_value' => "$required|numeric|min:0",
  13. 'contract_register_value' => "$required|numeric|min:0",
  14. 'contrat_discount_value' => 'nullable|numeric|min:0',
  15. 'visible' => 'sometimes|boolean',
  16. 'class_duration_minutes' => "$required|integer|min:1|max:1440",
  17. 'weekday' => 'nullable|integer|min:0|max:6|required_with:start_time',
  18. 'start_time' => 'nullable|date_format:H:i|required_with:weekday',
  19. 'second_weekday' => 'nullable|integer|min:0|max:6|different:weekday|required_with:second_start_time',
  20. 'second_start_time' => 'nullable|date_format:H:i|required_with:second_weekday',
  21. 'materials' => 'nullable|array',
  22. 'materials.*.product_id' => 'required_with:materials|integer|exists:products,id',
  23. 'materials.*.quantity' => 'required_with:materials|integer|min:1',
  24. 'materials.*.price' => 'required_with:materials|numeric|min:0',
  25. ];
  26. }
  27. }