['required', 'string', 'max:255'], 'supplier_id' => ['nullable', 'exists:suppliers,id'], 'cost' => ['required', 'numeric', 'min:0'], 'deadline' => ['nullable', 'date'], 'paid' => ['boolean'], 'file' => ['sometimes', 'nullable', 'file', 'mimes:pdf,jpg,jpeg,png', 'max:10240'], ]; } /** * Custom validation messages */ public function messages(): array { return [ 'name.required' => 'El nombre de la factura es obligatorio.', 'supplier_id.exists' => 'El proveedor seleccionado no es válido.', 'cost.required' => 'El costo es obligatorio.', 'cost.numeric' => 'El costo debe ser un número válido.', 'cost.min' => 'El costo debe ser un valor positivo.', 'file.mimes' => 'El archivo debe ser PDF o imagen (jpg, jpeg, png).', 'file.max' => 'El archivo no puede superar los 10 MB.', ]; } }