(9)第9章:wtformチェック
8877 ワード
wfformチェックの変数名は、前段に設定された要素のname属性フィールドです.
Formクラスを継承する、データを実現するチェックStringFieldはチェックを表すデータが文字列PasswordFieldはチェックを示すパスワードパスワードフィールドであり、入力を自動的に小黒点DateFieldテキストフィールドに変換し、フォーマットはdatetimeである.Dateと同様にIntergerFieldテキストフィールド、フォーマット要件は整数DecimalFieldテキストフィールド、フォーマット要件、decimalである.Decimalと同じFloatFieldテキストフィールド、値は浮動小数点数BooleanFieldチェックボックス、値はTrueまたはFalse RadioFieldのラジオボックスSelectFieldドロップダウンリストのセットで、注意が必要なのはchoicesパラメータがドロップダウンオプションを決定したことですが、HTMLのラベルと同様にtupleからなるリストであり、各tupleの最初の項目がオプションの本当の値であると考えられます.2つ目はaliasですMultipleSelectFieldオプションの複数の値のドロップダウンリスト
EqualTo(‘password 2’,message=‘2回入力されたパスワードが異なる’)は、現在チェックされているデータがpassword 2パラメータと同じかどうかを示す
Regexpは、validatorsのパラメータでもあり、携帯電話番号をチェックするなど、正規表現を使用できることを示しています.
from wtforms import Form, StringField, PasswordField
Formクラスを継承する、データを実現するチェックStringFieldはチェックを表すデータが文字列PasswordFieldはチェックを示すパスワードパスワードフィールドであり、入力を自動的に小黒点DateFieldテキストフィールドに変換し、フォーマットはdatetimeである.Dateと同様にIntergerFieldテキストフィールド、フォーマット要件は整数DecimalFieldテキストフィールド、フォーマット要件、decimalである.Decimalと同じFloatFieldテキストフィールド、値は浮動小数点数BooleanFieldチェックボックス、値はTrueまたはFalse RadioFieldのラジオボックスSelectFieldドロップダウンリストのセットで、注意が必要なのはchoicesパラメータがドロップダウンオプションを決定したことですが、HTMLのラベルと同様にtupleからなるリストであり、各tupleの最初の項目がオプションの本当の値であると考えられます.2つ目はaliasですMultipleSelectFieldオプションの複数の値のドロップダウンリスト
from wtforms import Form, StringField, PasswordField
from wtforms.validators import Length, DataRequired, Email, ValidationError, EqualTo
class RegisterForm(Form):
email = StringField(validators=[
DataRequired(), Length(8, 64), Email(message=' ')])
password = PasswordField(validators=[
DataRequired(message=' , '), Length(6, 32)])
nickname = StringField(validators=[
DataRequired(), Length(2, 10, message=' , 10 ')])
email ,
, wtform ValidationError
def validate_email(self, field):
# email first
if User.query.filter_by(email=field.data).first():
raise ValidationError(' ')
def validate_nickname(self, field):
if User.query.filter_by(nickname=field.data).first():
raise ValidationError(' ')
EqualTo(‘password 2’,message=‘2回入力されたパスワードが異なる’)は、現在チェックされているデータがpassword 2パラメータと同じかどうかを示す
class ChangePasswordForm(Form):
old_password = PasswordField(validators=[DataRequired()])
new_password1 = PasswordField(validators=[
DataRequired(), Length(6, 32, message=' 6 32 '),
EqualTo('new_password2', message=' ')])
# EqualTo
new_password2 = PasswordField(validators=[DataRequired(), Length(6, 32)])
Regexpは、validatorsのパラメータでもあり、携帯電話番号をチェックするなど、正規表現を使用できることを示しています.
Regexp('^1[0-9]{10}$', 0, ' ')