五十-2:WTFormsフォーム検証の基本的な使用

 

役割:
1、フォーム検証、の合法性を検証するためにユーザーが送信したデータか
、テンプレートをレンダリング、2を


インストール:PIPインストールwtforms

フォームバリデーション
1、継承wtforms.Formというカスタムクラスを形成する
2、フィールドを検証する必要性を定義し、name属性値フィールド名が検証される必要があるとフォーム一貫したフィールド
のフィールドを検証する必要がある3、。の指定検証データタイプは
4、関連する分野において、認証装置指定
ビューで、5を、このフォームオブジェクトクラスとデータを検証する必要の使用:のRequest.Form)は(このフォームのクラスは、次にform.validate呼び出し通過します方法、説明の検証により、戻りfalseの場合、データは、特に問題がform.errorsによって得ることができる問題を説明し、場合Trueを返します

 

リクエスト、render_template、からインポートフラスコフラスコ
WTFormsインポートをForm1、StringFieldから
長からのインポートをwtforms.validators、EqualTo


クラスRegistForm(Form1の):
「」「登録したパラメータの検証」「」
#フォームのパラメータ名の属性
名= StringField(バリ= [長さ(3、10 、メッセージ= ' ユーザ名の長さ3〜10である')])
パスワード= StringField(バリ= [長さ(6、10、メッセージ= '6〜10のパスワードの長さ')] )
check_password = StringField(バリ= [長さ(6、10、メッセージ= '6〜10のパスワードの長さ')、EqualTo( 'パスワード' 、メッセージ= ' 2つのパスワードが一致しない')])


アプリ=フラスコ(__ name__)


app.route @( '/ REGIST /'、メソッド= [ 'GET'、 'POST'])
DEF REGIST():
フォーム= RegistForm(のRequest.Form)
要求した場合。方法== 'POST':
もしform.validate():
戻る'验证通过'
他:
プリント(form.errors)
リターンform.errorsが
render_templateに( 'regist.html')を返す


場合__name__ == '__main__':
app.run(デバッグ=真)
 

<!DOCTYPE HTML> 
<HTML LANG = "EN">
<HEAD>
<メタ文字コード= "UTF-8">
<タイトル>注册</ TITLE>
</ HEAD>
<BODY>
<フォームアクション= "#"方法= "ポスト">
<表>
<TBODY>
<TR>
<TD>用户名:</ TD>
<TD>の<input type = "text"の名= "ユーザ名"> </ TD>
</ TR>
<TR>
<TD>密码:</ TD>
<TD>の<input type = "text"の名= "パスワード"> </ TD>
</ TR>
<TR>
<TD>确认密码:</ TD>
<TD>の<input type = "text"の名= "check_password"> </ TD>
</ TR>
<TR>
<TD> </ TD>
<TD>の<input type = "提出"値= "点击注册"> </ TD>
</ TR>
</ TBODY>
</ TABLE>
</ FORM>
</ BODY>
</ HTML>

 

データを提出

 

 

 

おすすめ

転載: www.cnblogs.com/zhongyehai/p/11838986.html