From 9ba57a017937013e93100da0d8844bb79b3d9e51 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:55:37 -0700 Subject: [PATCH] More validation --- src/documents/serialisers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index f4b36f884..2f6a19f49 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -484,10 +484,15 @@ class CustomFieldSerializer(serializers.ModelSerializer): "extra_data" not in attrs or "select_options" not in attrs["extra_data"] or not isinstance(attrs["extra_data"]["select_options"], list) + or len(attrs["extra_data"]["select_options"]) == 0 + or not all( + isinstance(option, str) and len(option) > 0 + for option in attrs["extra_data"]["select_options"] + ) ) ): raise serializers.ValidationError( - {"error": "extra_data.select_options must be a list"}, + {"error": "extra_data.select_options must be a valid list"}, ) return super().validate(attrs)