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 }}
-
+