check(); } /** * Prepare the data for validation. */ public function prepareForValidation(): void { parent::prepareForValidation(); $this->merge([ 'question_id' => intval($this->input('question_id')), 'answers' => collect($this->input('answers'))->map(function (string $value) { return intval($value); })->toArray(), 'email' => auth()->user()->email, ]); } /** * Get the validation rules that apply to the request. */ public function rules(): array { return array_merge(parent::rules(), [ 'password' => 'nullable', 'question_id' => 'required|integer', 'answers' => 'present|array', 'answers.*' => 'integer|min:0', 'email' => 'required|email:rfc,dns,spoof|max:255|exists:customers,email', ]); } }