diff --git a/api/app/Http/Requests/AnswerFormRequest.php b/api/app/Http/Requests/AnswerFormRequest.php index 61d67f4c8..d9dec34f6 100644 --- a/api/app/Http/Requests/AnswerFormRequest.php +++ b/api/app/Http/Requests/AnswerFormRequest.php @@ -14,6 +14,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Str; use Illuminate\Validation\Rule; +use Stevebauman\Purify\Facades\Purify; class AnswerFormRequest extends FormRequest { @@ -175,6 +176,7 @@ private function getPropertyRules($property): array { switch ($property['type']) { case 'text': + case 'rich_text': case 'signature': return ['string']; case 'number': @@ -282,6 +284,10 @@ protected function prepareForValidation() if ($property['type'] === 'phone_number' && (!isset($property['use_simple_text_input']) || !$property['use_simple_text_input']) && $receivedValue && in_array($receivedValue, $countryCodeMapper)) { $mergeData[$property['id']] = null; } + + if ($property['type'] === 'rich_text' && $receivedValue) { + $mergeData[$property['id']] = Purify::clean($receivedValue); + } }); $this->merge($mergeData); diff --git a/client/components/open/forms/OpenFormField.vue b/client/components/open/forms/OpenFormField.vue index 1d1747821..f145cdfe8 100644 --- a/client/components/open/forms/OpenFormField.vue +++ b/client/components/open/forms/OpenFormField.vue @@ -210,6 +210,7 @@ export default { } return { text: 'TextInput', + rich_text: 'RichTextAreaInput', number: 'TextInput', rating: 'RatingInput', scale: 'ScaleInput', diff --git a/client/components/open/forms/fields/components/FieldOptions.vue b/client/components/open/forms/fields/components/FieldOptions.vue index cb05c3a00..cbfba69f3 100644 --- a/client/components/open/forms/fields/components/FieldOptions.vue +++ b/client/components/open/forms/fields/components/FieldOptions.vue @@ -448,8 +448,15 @@ :multiple="field.multiple === true" :move-to-form-assets="true" /> + - - {{ value }} - +