* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0 */ namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; /** * @see \Tests\Todo\Unit\Http\Requests\StorePollTest */ class StorePoll extends FormRequest { /** * Determine if the user is authorized to make this request. */ public function authorize(): bool { return true; } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return [ 'title' => [ 'required', 'min:10' ], 'expires_at' => [ 'sometimes', 'nullable', 'date', ], 'multiple_choice' => [ 'required', 'boolean' ], 'options.*.name' => [ 'required', 'max:255' ], 'options' => [ 'array', 'min:2', 'max:20' ], ]; } /** * Get the error messages for the defined validation rules. * * @return array */ public function messages(): array { return [ 'options.*.required' => 'You must fill in all options fields', ]; } }