Replay falsey values in input fields

Currently an integer of 0 doesn't get shown because it fails the
truthiness check in the govuk-frontend template [^1]. Note that
we can't just do str(value) as for None this would be "None".

[^1]: fd4952f1c0/src/govuk/components/input/template.njk (L51)
This commit is contained in:
Ben Thorner
2022-03-01 13:51:04 +00:00
parent 05b8fd7c01
commit 09899eb99d

View File

@@ -2,6 +2,7 @@ import math
import weakref
from datetime import datetime, timedelta
from itertools import chain
from numbers import Number
import pytz
from flask import Markup, render_template, request
@@ -221,6 +222,7 @@ def password(label='Password'):
def govuk_text_input_field_widget(self, field, type=None, param_extensions=None, **kwargs):
value = kwargs["value"] if kwargs.get("value") else field.data
value = str(value) if isinstance(value, Number) else value
# error messages
error_message = None