3

WTForms は初めてです。送信ボタンのあるユーザー登録フォームがあります。

submit = SubmitField('Submit')

他の方法ではなく、送信ボタンを押してフォームが送信されるようにしたい。ドキュメントには、次のように記載されています

class wtforms.fields.SubmitField(default field arguments)
Represents an <input type="submit">. This allows checking if a given submit button has been pressed.

私の場合、「必須」のバリデーターを追加する必要がありますか?

たとえば、次のようにする必要がありますか?

submit = SubmitField('Submit', [validators.Required()])
4

1 に答える 1

4

私はあなたがそうだと思います。ソースコードを見ると、必要なものは何もありませんSubmitField

これSubmitFieldは本当にただのBooleanField

class SubmitField(BooleanField):
    """
    Represents an ``<input type="submit">``.  This allows checking if a given
    submit button has been pressed.
    """
    widget = widgets.SubmitInput()

関連するウィジェットは、type="submit"を持つ単なる入力ウィジェットです。また、HTMLのテキストとしてSubmitFieldのラベルを使用しているようです。

class SubmitInput(Input):
    """
    Renders a submit button.

    The field's label is used as the text of the submit button instead of the
    data on the field.
    """
    input_type = 'submit'

    def __call__(self, field, **kwargs): 
        kwargs.setdefault('value', field.label.text)
        return super(SubmitInput, self).__call__(field, **kwargs)

これ以上のことはしていないようです。

于 2012-10-16T05:32:16.797 に答える