我没有足够的声誉发表评论,但在许多情况下,公认的解决方案会抛出未捕获的异常。这是由于以下行为(从电话号码文档复制的):The parse function will also fail completely (with a NumberParseException) on inputs that cannot be uniquely parsed, or that can't possibly be phone numbers.

失败的字符串示例有“1”、“2”和“abcde”。在

以下是对wgwz的回答的修改,该回答对此类情况是可靠的:from wtforms import ValidationError

import phonenumbers

def validate_phone(message='Invalid phone number.', region=None):

""" This validates the phone number using the phonenumbers package.

Make sure to select a default region in order to validate numbers

that do not follow the international format.

"""

def _validate_phone(form, field):

try:

input_number = phonenumbers.parse(field.data, region)

if not (phonenumbers.is_valid_number(input_number)):

raise ValidationError(message)

except:

raise ValidationError(message)

return _validate_phone

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=[validate_phone(region='US'])

python表单验证wtf_正在验证wtfforms中的美国电话号码相关推荐

  1. python表单验证_Python——flask_wtf验证form表单

    前言: web表单是web应用程序的基本功能.它是HTML页面中负责数据采集的部件.表单有三个部分组成:表单标签.表单域.表单按钮.表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的 ...

  2. 基于表单的网站身份验证的权威指南[关闭]

    基于表单的网站身份验证 我们认为Stack Overflow不仅应该是非常具体的技术问题的资源,而且还应该是关于如何解决常见问题变化的一般指导原则. "基于表单的网站身份验证"应该 ...

  3. 自制“低奢内”CSS3注册表单,包含JS验证哦。请别嫌弃,好吗?。

    要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识.和JS/JQuery基本语法. 开发环境 Adobe Dreamweaver CS6 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到 ...

  4. 前端:JS/32/form对象(表单)(form对象的属性,方法和事件),受返回值影响的两个事件(onclick事件,onsubmit事件),获取表单的元素对象的三种方式,表单的提交和验证方法总结

    form 对象(表单) 一个<form>标记,就是一个<form>对象: 1,form对象的属性 name :表单的名称,主要用来让JS来控制表单: action :表单的数据 ...

  5. php判断post是否xss,PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】...

    本文实例讲述了PHP实现表单提交数据的验证处理功能.分享给大家供大家参考,具体如下: 防XSS攻击代码: /** * 安全过滤函数 * * @param $string * @return strin ...

  6. Ant Design of Vue +TS 表单动态增加数据验证卧坑姿势

    文章目录 Update 20210601 Update 20210525 原文: 1.a-form的model 2.获取数据 源码 Update 20210601 今天做别的页面的时候发现又取不到数据 ...

  7. Layui表单复选框验证

    Layui表单复选框验证 近日由于项目原因使用layui框架进行开发,在做表单验证的时候苦于复选框验证问题找不到答案,于是作为小白的我换了一种思路,不采用官方提供的form-verify,而是采用在提 ...

  8. ajax如何实现表单验证码,Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)...

    本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html 验证码提交自验证 用户名 验证码 (function($){ $(docu ...

  9. 《产品经理心得》02:表单提示和输入验证方案

    内容导航: 前言 1.作品案例 2.提示的类型 3.按照时间顺序划分 4.建议 前言 表单是Web设计中使用频次非常高的页面,那么,其用户体验也占据了整个产品体验的很大比例.因此,如何统一的设计表单提 ...

  10. ajax异步实现表单的无刷新验证

    在 实现ajax异步实现表单的无刷新验证之前我们先要了解什么是异步什么是同步 "同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序 ...

最新文章

  1. 将图片缩放成指定尺寸
  2. stm32 带通滤波器_带通滤波 - 基于STM32芯片和TFT-LCD的便携式心电图仪设计
  3. 微服务组件记事本:Skywalking执行效果 · 多图篇
  4. mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息
  5. 帝国cms 未审核 showinfo.php,帝国CMS批量修改文章未审核状态及批量修改上线时间...
  6. [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点
  7. java模拟数据库压测_Jeecgboot Feign、分布式压测、分布式任务调度
  8. 基于Spring Security的认证授权_连接数据库认证_Spring Security OAuth2.0认证授权---springcloud工作笔记128
  9. C语言打印结构体的值,怎么才能把结构体里面的二维数组打印出来?
  10. Java微信小微商户进件,已经解决接口暂无权限,稍后再试的问题
  11. 计算机网络怎么看ip地址类别,如何查找ip地址 ip地址分类介绍【图解】
  12. 最早的即时通讯软件哪一个,你知道吗?
  13. 软件架构师应具备的十大特点
  14. 八字起大运php代码,八字起大运方法有几种
  15. ASA防火墙NAT发布失效
  16. 虚拟摄像头之二: 配置v4l2loopback虚拟摄像头为前置或后置摄像头
  17. 努比亚Z5Smini刷机包 官方H125 音量唤醒 自启管理 CRT管理 稳定
  18. FIL能涨到多少?2021FIL价格预测
  19. 解决java中使用getImage()导入图片失败问题
  20. 《ucore lab1 exercise5》实验报告

热门文章

  1. 吴恩达机器学习ex4 Neural Networks Learning (python)
  2. 硬盘是计算机的 奥鹏,奥鹏2016计算机应用基础一
  3. 美创科技出席世界信息安全大会:多维数据安全框架体系,护航新基建发展
  4. 当实现两个Activity之间的跳转时,发生 XXX has stoped 或者 XXX keeps stopping
  5. 计算2015年4月6日是一年中的第几星期
  6. 揭开关于激光雷达传感器的常见误区——第二部分
  7. Office365上启用Skype For Business并实现本地AD用户登录
  8. python自动进直播_Python实现自动录制虎牙直播
  9. python求偏导_python中几种自动微分库解析
  10. sqlserver 附加数据库方法