<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                | 字段類型 | 說明 | | --- | --- | | StringField | 文本字段, 相當于type類型為text的input標簽 | | TextAreaField | 多行文本字段 | | PasswordField | 密碼文本字段 | | HiddenField | 隱藏文本字段 | | DateField | 文本字段, 值為datetime.date格式 | | DateTimeField | 文本字段, 值為datetime.datetime格式 | | IntegerField | 文本字段, 值為整數 | | DecimalField | 文本字段, 值為decimal.Decimal | | FloatField | 文本字段, 值為浮點數 | | BooleanField | 復選框, 值為True 和 False | | RadioField | 一組單選框 | | SelectField | 下拉列表 | | SelectMultipleField | 下拉列表, 可選擇多個值 | | FileField | 文件上傳字段 | | SubmitField | 表單提交按鈕 | | FormFiled | 把表單作為字段嵌入另一個表單 | | FieldList | 子組指定類型的字段 | | 驗證函數 | 說明 | | --- | --- | | Email | 驗證是電子郵件地址 | | EqualTo | 比較兩個字段的值; 常用于要求輸入兩次密鑰進行確認的情況 | | IPAddress | 驗證IPv4網絡地址 | | Length | 驗證輸入字符串的長度 | | NumberRange | 驗證輸入的值在數字范圍內 | | Optional | 無輸入值時跳過其它驗證函數 | | DataRequired | 確保字段中有數據 | | Regexp | 使用正則表達式驗證輸入值 | | URL | 驗證url | | AnyOf | 確保輸入值在可選值列表中 | | NoneOf | 確保輸入值不在可選列表中 | - 內聯驗證器 ~~~ def my_length_check(form, field): if len(field.data) > 50: raise ValidationError('Field must be less than 50 characters') class MyForm(Form): name = StringField('Name', [InputRequired(), my_length_check]) ~~~ - 通用且可重用的驗證函數 ``` class UserForm(Form): ''' 用戶驗證字段 ''' account = StringField(validators=[DataRequired(message='用戶名不能為空'), length(min=5, max=32, message='用戶名長度在5-32位')]) secret = StringField() type = IntegerField(validators=[DataRequired()]) def validate_type(self, value): ''' 通用且可重用的驗證函數 一般是以validate開頭,加上下劃線再加上對應的field字段(validate_filed),會自動識別對應字段所有的驗證器,然后執行驗證器進行判斷 :param value: :return: ''' try: user = UserTypeEnum(int(value.data)) self.type.data = user except ValueError as e: raise e class UserEmailForm(ClientForm): account = StringField(validators=[ Email(message='invalidate email') ]) secret = StringField(validators=[ DataRequired(), # password can only include letters , numbers and "_" Regexp(r'^[A-Za-z0-9_*&$#@]{6,22}$') ]) nickname = StringField(validators=[DataRequired(), length(min=2, max=22)]) def validate_account(self, value): if User.query.filter_by(email=value.data).first(): raise ValidationError() ``` ``` from flask import Blueprint, request from app.libs.enums import UserTypeEnum from app.validators.forms import UserForm user = Blueprint('user', __name__) @user.route('/get', methods=['GET']) def get_user(): # 接收數據 data = request.json # 驗證數據 form = UserForm(data=data) if form.validate(): # 如果驗證通過,根據枚舉類型調用對應的方法 promise = { UserTypeEnum.USER_EMAIL: __register_user_by_email } promise[form.type.data]() else: print(form.errors) def __register_user_by_email(): pass ```
                  <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>

                              哎呀哎呀视频在线观看