From f764df873e4560bd3bdc7eaaa3b8f870788541d4 Mon Sep 17 00:00:00 2001 From: Jeroendevr Date: Wed, 7 Jun 2023 11:08:15 +0200 Subject: [PATCH 1/5] coerce function example --- docs/fields.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/fields.rst b/docs/fields.rst index c695caae..b2cca62b 100644 --- a/docs/fields.rst +++ b/docs/fields.rst @@ -313,6 +313,19 @@ refer to a single input from the form. `coerce` keyword arg to :class:`~wtforms.fields.SelectField` says that we use :func:`int()` to coerce form data. The default coerce is :func:`str()`. + + **Coerce function example** + def coerce_none(value): + if value == 'None': + return None + return value + + class NonePossible(From): + choices = [('1', 'Option 1'), ('2', 'Option 2'), ('None', 'No option')] + my_select_field = SelectField('Select an option', choices=choices, coerce=coerce_none) + + Note when the option None is selected a 'None' str will be passed. By using a coerce + function the 'None' str will be converted to None. **Skipping choice validation**:: From 3f4aaaf42def7e84fc530a12227cea9820fe1f9c Mon Sep 17 00:00:00 2001 From: Jeroendevr Date: Wed, 7 Jun 2023 11:15:12 +0200 Subject: [PATCH 2/5] format coerce function enter to apply formatting --- docs/fields.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/fields.rst b/docs/fields.rst index b2cca62b..4a435692 100644 --- a/docs/fields.rst +++ b/docs/fields.rst @@ -315,6 +315,7 @@ refer to a single input from the form. :func:`str()`. **Coerce function example** + def coerce_none(value): if value == 'None': return None From 9e026d93deec5c1b643de6a74b5f7814c5a53d1a Mon Sep 17 00:00:00 2001 From: Jeroendevr Date: Wed, 7 Jun 2023 11:18:35 +0200 Subject: [PATCH 3/5] double colon --- docs/fields.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fields.rst b/docs/fields.rst index 4a435692..2c034e5a 100644 --- a/docs/fields.rst +++ b/docs/fields.rst @@ -314,7 +314,7 @@ refer to a single input from the form. use :func:`int()` to coerce form data. The default coerce is :func:`str()`. - **Coerce function example** + **Coerce function example**:: def coerce_none(value): if value == 'None': From 6976d9257d118fb41941219e9c5c372fe9ade28a Mon Sep 17 00:00:00 2001 From: Jeroen de Vries Date: Fri, 9 Jun 2023 09:01:50 +0200 Subject: [PATCH 4/5] typo and line ending whitespace fix --- docs/fields.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/fields.rst b/docs/fields.rst index 2c034e5a..c4141a37 100644 --- a/docs/fields.rst +++ b/docs/fields.rst @@ -315,16 +315,15 @@ refer to a single input from the form. :func:`str()`. **Coerce function example**:: - + def coerce_none(value): if value == 'None': return None return value - class NonePossible(From): - choices = [('1', 'Option 1'), ('2', 'Option 2'), ('None', 'No option')] - my_select_field = SelectField('Select an option', choices=choices, coerce=coerce_none) - + class NonePossible(Form): + my_select_field = SelectField('Select an option', choices=[('1', 'Option 1'), ('2', 'Option 2'), ('None', 'No option')], coerce=coerce_none) + Note when the option None is selected a 'None' str will be passed. By using a coerce function the 'None' str will be converted to None. From 7ad6f9ebb69282873bbc315b2c6b7c83d5d4361a Mon Sep 17 00:00:00 2001 From: Jeroen de Vries Date: Fri, 9 Jun 2023 09:03:21 +0200 Subject: [PATCH 5/5] whitespace --- docs/fields.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fields.rst b/docs/fields.rst index c4141a37..3a48f2c1 100644 --- a/docs/fields.rst +++ b/docs/fields.rst @@ -313,7 +313,7 @@ refer to a single input from the form. `coerce` keyword arg to :class:`~wtforms.fields.SelectField` says that we use :func:`int()` to coerce form data. The default coerce is :func:`str()`. - + **Coerce function example**:: def coerce_none(value):