我正在使用一个烧瓶应用程序,并使用wtform:
class RegisterForm(Form):
username = StringField('Username', validators=[DataRequired(), Length(min=3, max=25)])
email = StringField('Email', validators=[DataRequired(), Email(), Length(min=6, max=40)])
phone = StringField('Phone', validators=[DataRequired(), Length(10)])我刚刚添加了电话,并正在寻找一种方法来验证一个美国号码。我偶然发现了http://wtforms-components.readthedocs.org/en/stable/#phonenumberfield,但这似乎已经没有电话了。用wtfform处理这个问题的最好方法是什么?
编辑类:
class RegisterForm(Form):
username = StringField('Username', validators=[DataRequired(), Length(min=3, max=25)])
email = StringField('Email', validators=[DataRequired(), Email(), Length(min=6, max=40)])
phone = StringField('Phone', validators=[DataRequired(),validate_phone('RegisterForm','phone'), Length(min=6, max=40)])
def validate_phone(form, field):
if len(field.data) > 16:
raise ValidationError('Invalid phone number.')
try:
input_number = phonenumbers.parse(field.data)
if not (phonenumbers.is_valid_number(input_number)):
raise ValidationError('Invalid phone number.')
except:
input_number = phonenumbers.parse("+1"+field.data)
if not (phonenumbers.is_valid_number(input_number)):
raise ValidationError('Invalid phone number.')发布于 2020-05-13 16:56:34
我在wtforms组件中使用了内置的wtforms。我就是这么用的。
from wtforms_components import PhoneNumberField
class UserForm(Form):
phone_number = PhoneNumberField(
country_code='US'
display_format='national'
)https://stackoverflow.com/questions/36251149
复制相似问题