<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 77 WTForms常用驗證器 數據發過來時,經過表單驗證,因此需要驗證器來進行驗證,以下對一些常用的內置驗證器進行講解: * Email:驗證上傳的數據是否為郵箱 ```text # 驗證郵箱 email = StringField(validators=[Email()]) ``` * EqualTo:驗證上傳的數據是否和另外一個字段相等,常用的就是密碼和確認密碼兩個字段是否相等 ```text # EqualTo指定與之保持相同值的字段 password_repeat = StringField(validators=[Length(min=6,max=10),EqualTo("password")]) ``` * InputRequired:原始數據的需要驗證。如果不是特殊情況,應該使用InputRequired。 ```text # 驗證用戶是否輸入 username = StringField(validators=[input_required()]) ``` * Length:長度限制,有min和max兩個值進行限制 ```text username = StringField(validators=[Length(min=3,max=10,message="用戶名長度必須在3到10位之間")]) ``` * NumberRange:數字的區間,有min和max兩個值限制,如果處在兩個數字之間則滿足 ```text # 驗證范圍 age = IntegerField(validators=[NumberRange(12,18)]) ``` * Regexp:自定義正則表達式 ```text # 正則表達式 phone = StringField(validators=[Regexp(r'1[34578]\d{9}')]) ``` * URL:必須要是URL的形式 ```text # url驗證 home_page = StringField(validators=[URL()]) ``` * UUID:驗證UUID ```text # uuid值驗證 uuid = StringField(validators=[UUID()]) ``` ## forms.py ```text from wtforms import Form,StringField,IntegerField from wtforms.validators import Length,EqualTo,Email,Regexp,input_required,NumberRange,URL,UUID # 繼承Form class RegistForm(Form): # message指定錯誤信息 username = StringField(validators=[Length(min=3,max=10,message="用戶名長度必須在3到10位之間")]) password = StringField(validators=[Length(min=6,max=10)]) # EqualTo指定與之保持相同值的字段 password_repeat = StringField(validators=[Length(min=6,max=10),EqualTo("password")]) class LoginForm(Form): # # 驗證郵箱 # email = StringField(validators=[Email()]) # # 驗證用戶是否輸入 # username = StringField(validators=[input_required()]) # # 驗證范圍 # age = IntegerField(validators=[NumberRange(12,18)]) # # 正則表達式 # phone = StringField(validators=[Regexp(r'1[34578]\d{9}')]) # # url驗證 # home_page = StringField(validators=[URL()]) # uuid值驗證 uuid = StringField(validators=[UUID()]) ``` ## login.html ```text <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登錄表</title> </head> <body> <form action="" method="POST"> <table> <tbody> <tr> <td>郵箱:</td> <td><input type="text" name="email"/></td> </tr> <tr> <td>用戶民:</td> <td><input type="text" name="username"/></td> </tr> <tr> <td>年齡:</td> <td><input type="text" name="age"/></td> </tr> <tr> <td>手機號:</td> <td><input type="text" name="phone"/></td> </tr> <tr> <td>個人主頁:</td> <td><input type="text" name="home_page"/></td> </tr> <tr> <td>UUID:</td> <td><input type="text" name="uuid"/></td> </tr> <tr> <td></td> <td><input type="submit" value="立即注冊"/></td> </tr> </tbody> </table> </form> </body> </html> ``` myapp.py ```text @app.route("/login/",methods=["GET","POST"]) def login(): if request.method == "GET": return render_template("login.html") else: # 將表單數據傳遞給LoginForm進行驗證 form = LoginForm(request.form) if form.validate(): return "successful" else: return "fail" #uuid值:fab3e92a-13b0-4938-bae8-5e58066ae11d # from uuid import uuid4 # print(uuid4()) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看