validate value type is string before using strip (#2155)

* Fix issue where required custom fields could not be submitted for existing users

Co-authored-by: Kevin Chung <kchung@ctfd.io>
This commit is contained in:
Anders Soh
2022-08-01 04:20:14 +08:00
committed by GitHub
parent 8873417e0d
commit 4c0f98f078
2 changed files with 14 additions and 8 deletions

View File

@@ -264,10 +264,13 @@ class TeamSchema(ma.ModelSchema):
field_id=field.id, team_id=current_team.id
).first()
if field.required is True and value.strip() == "":
raise ValidationError(
f"Field '{field.name}' is required", field_names=["fields"]
)
if field.required is True:
if isinstance(value, str):
if value.strip() == "":
raise ValidationError(
f"Field '{field.name}' is required",
field_names=["fields"],
)
if field.editable is False and entry is not None:
raise ValidationError(

View File

@@ -250,10 +250,13 @@ class UserSchema(ma.ModelSchema):
field_id=field.id, user_id=current_user.id
).first()
if field.required is True and value.strip() == "":
raise ValidationError(
f"Field '{field.name}' is required", field_names=["fields"]
)
if field.required is True:
if isinstance(value, str):
if value.strip() == "":
raise ValidationError(
f"Field '{field.name}' is required",
field_names=["fields"],
)
if field.editable is False and entry is not None:
raise ValidationError(