*/ public function rules(): array { return [ 'reason_type' => ['required', Rule::enum(DismissalReasonType::class)], 'note' => ['nullable', 'string', 'max:500'], ]; } public function withValidator(Validator $validator): void { $validator->after(function (Validator $v): void { if ($v->errors()->isNotEmpty()) { return; } $reason = DismissalReasonType::tryFrom((string) $this->input('reason_type')); if ($reason === null) { return; } if ($reason->requiresNote() && $this->input('note') === null) { $v->errors()->add('note', __('form_builder.dismiss.note_required_for_other')); } }); } }