首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WTForms中验证美国电话号码

在WTForms中验证美国电话号码
EN

Stack Overflow用户
提问于 2016-03-27 18:41:23
回答 2查看 10.5K关注 0票数 1

我正在使用一个烧瓶应用程序,并使用wtform:

代码语言:javascript
复制
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处理这个问题的最好方法是什么?

编辑类:

代码语言:javascript
复制
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.')
EN

Stack Overflow用户

发布于 2020-05-13 16:56:34

我在wtforms组件中使用了内置的wtforms。我就是这么用的。

代码语言:javascript
复制
from wtforms_components import PhoneNumberField

class UserForm(Form):
    phone_number = PhoneNumberField(
        country_code='US'
        display_format='national'
    )
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36251149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档