WTForm“OR”条件验证器? (电子邮件或电话均可)

2024-04-11

class ContactForm(Form):
  name = StringField('Name',
                     validators=[DataRequired(), Length(max=255)])
  email = StringField('Email',
                      validators=[Optional(), Email(), Length(max=255)])
  phone = StringField('Phone number',
                      validators=[Optional(), NumberRange(min=8, max=14)])
  comment = TextAreaField(u'Comment',
                          validators=[DataRequired()])

无论如何都要指定一个验证器,以便email or phone是必须的?


您可以创建一个validate表单上的方法并进行一些手动检查。像这样的事情可能会让你开始。

class MyForm(Form):
    name = StringField('Name',
                 validators=[DataRequired(), Length(max=255)])
    email = StringField('Email',
                      validators=[Optional(), Email(), Length(max=255)])
    phone = StringField('Phone number',
                      validators=[Optional(), NumberRange(min=8, max=14)])
    comment = TextAreaField(u'Comment',
                          validators=[DataRequired()])
    def validate(self):
        valid = True
        if not Form.validate(self):
            valid = False
        if not self.email and not self.phone:
            self.email.errors.append("Email or phone required")
            valid = False
        else:
            return valid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WTForm“OR”条件验证器? (电子邮件或电话均可) 的相关文章

  • 为什么我的混淆矩阵只返回一个数字?

    我正在做二元分类 每当我的预测等于事实时 我发现sklearn metrics confusion matrix返回单个值 难道没有问题吗 from sklearn metrics import confusion matrix print
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • McNemar 在 Python 中的测试以及分类机器学习模型的比较 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有用 Python 实现的好的 McNemar 测试 我在 Scipy stats 或 Scikit
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 检查 python 中命令行参数的数量

    我是蟒蛇新手 还是把脚弄湿了 我正在尝试做这样的事情 import sys if len sys argv lt 3 or lt len sys argv gt 3 print This script will compare two fi
  • 从 pyspark.sql 中的列表创建数据框

    我完全陷入了有线的境地 现在我有一个清单li li example data map lambda x get labeled prediction w x collect print li type li 输出就像 0 0 59 0 0
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • 在 Mac OSX 上从 Python 3.6 运行 wine 命令

    我正在尝试用 Python 编写一个打开的脚本wine然后发送代码到wine终端打开一个 exe程序 这 exe程序也是命令驱动的 我可以打开wine 但我无法进一步 import shlex subprocess line usr bin
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • 如何在 Seaborn 中的热图轴上表达类

    我使用 Seaborn 创建了一个非常简单的热图 显示相似性方阵 这是我使用的一行代码 sns heatmap sim mat linewidths 0 square True robust True sns plt show 这是我得到的
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 如何使用xlwt设置文本颜色

    我无法找到有关如何设置文本颜色的文档 在 xlwt 中如何完成以下操作 style xlwt XFStyle bold font xlwt Font font bold True style font font background col

随机推荐

  • 运行 ng test 时如何解析 test.ts?

    我正在使用 Angular CLI 当我运行时ng test 它开始启动浏览器 然后我突然收到错误 userName UserName devApp profiles ng test 10 building modules 1 1 modu
  • 无法获取某些用户的页面

    我开发了一个 PHP 应用程序 只需要获取用户是否喜欢某个页面 我这样登录用户 this gt facebook new Facebook array appId gt 123 secret gt 346 this gt facebookU
  • 在替换器中访问验证失败的值?

    当在 Laravel 中使用自定义验证规则和替换器时 我真的很难找到任何可以简单地让您获取验证失败的值的文档 例如 我创建了一个文件存在验证器 Validator extend view exists function field valu
  • 如何使用React中的map函数更改第一个元素的css?

    我正在考虑每次更新数组时仅更改数组上的第一个元素 我无法在 ReactJS 中提出任何解决方案 例如 如果我有一个来自数组的用户列表 我只想启用该用户列表中的第一个用户 您确实可以访问index参数 您可以仅将类添加到第一个元素 您只需检查
  • 警告:mysqli_query() 期望参数 1 为 mysqli 布尔值[重复]

    这个问题在这里已经有答案了 通过我的表单提交一些内容后 我得到欢迎部分 然后是 mysql 连接错误 因为 mysql 已关闭 当我打开它时它消失 然后是布尔错误 警告 mysqli query 期望参数 1 为 mysqli 布尔值在 C
  • 无需用户执行即可重置 MySQL 字段值

    我需要在午夜自动重置 MySQL 字段值 它是表中特定行中的特定列 我知道如何在 PHP 中执行此操作 但我不知道如何在午夜执行 PHP 脚本 而无需有人自己执行 您有可行的解决方案吗 编辑 最好不使用 Cron Jobs 如果你在 Lin
  • R Markdown 和 Windows 中的多行乳胶方程

    下面的代码在linux上运行良好 title LaTeX test author Ignacio output html document Latex begin aligned y j sim N theta j sigma j 2 si
  • AlarmManager 第二次过早触发 PendingIntent

    我有这个代码 设置闹钟 public void setAlarm Calendar Calendar Object Calendar getInstance Calendar Object add Calendar DAY OF YEAR
  • 如何使用 C# 最大化 Selenium WebDriver (Selenium 2) 中的浏览器窗口?

    有没有办法使用 WebDriver Selenium 2 和 C 来最大化浏览器窗口 driver Manage Window Maximize 这适用于 IE 和 Firefox Chrome 无法工作 ChromeDriver 项目上为
  • android 中 EditText 内的可点击按钮(或任何视图)

    我想在我的 EditText 中有一个按钮或可单击的视图 以便我可以在单击它时执行一些操作 我能够在我的 EditText 中放置一个可绘制对象 这要归功于马科斯贝里戈 https stackoverflow com users 18191
  • 如何从脚本中获取当前的 PHP 可执行文件?

    我想从 PHP CLI 中运行 PHP CLI 程序 在某些将运行此程序的计算机上 同时安装了 PHP 4 和 PHP 5 如果我运行外部程序 php5 outer php 我希望内部脚本使用相同的 PHP 版本运行 在 Perl 中 我会
  • 循环结束时的无限动画关键帧和 z 索引问题

    我有一些动画 最终希望能组成一个漂亮的纯 CSS 动画 基本上我将数字分成两部分 并在 X 轴上旋转 180 为这两部分设置动画 然而 由于关键帧的无限循环 我在 z 索引方面遇到了问题 在循环结束时 错误的数字位于顶部 因此短暂地显示了错
  • ASP.NET Core - 在运行时更改 JWT SecurityKey

    具有与此类似的配置 services AddAuthentication JwtBearerDefaults AuthenticationScheme AddJwtBearer x gt x TokenValidationParameter
  • 如何使用 homebrew 在 macOS 中安装早期版本的 Python 3?

    如何使用brew 在 macOS 中安装以前版本的Python 3 通过命令brew install python我获得了最新版本的 Python 3 当前为 v3 7 0 但我想要最新版本的 Python 3 6 当前为 3 6 5 我读
  • 如何将边框半径应用于具有水平滚动的分隔表格行?

    我有一个包含大量数据的表 因此必须水平滚动 我设计了将每一行分隔为每张单独卡片的表格 但我无法正确获得表格行左右部分的边框半径 如果我滚动到右端 那么我可以看到右侧的半径和左侧的半径相同 当您位于中间时 您看不到任何边界半径 PS 当存在水
  • 如何间隔重叠注释

    我想用一些文本注释图表中的条形 但如果条形靠得很近并且高度相当 则注释高于 ea 其他 因此难以阅读 注释的坐标取自条形位置和高度 如果发生碰撞 有没有办法移动其中一个 Edit 这些条非常细 有时非常接近 所以仅垂直对齐并不能解决问题 A
  • 类型错误:未定义不是构造函数

    我对 Angular 还很陌生 我仍在尝试解决其中的大部分问题 我正在使用从 Yeoman Generator 生成的 Angular 1 5 8 编写一些测试 具体来说 我试图弄清楚如何操纵 httpBackend 结果 我不确定这是否重
  • matplotlib、pyplot.annotate 的自定义箭头样式

    我正在使用 matplotlib pyplot annotate 在我的绘图上绘制箭头 如下所示 import matplotlib pyplot as plt plt annotate x ybottom x ytop arrowprop
  • 组合:使用特征来避免转发功能?

    假设我们有两个班级 A and B 当使用组合来建模时 has a or 根据 实施 关系 例如B has a A 相对于继承的缺点之一是B不包含公共功能A它需要 为了获得访问A的公共功能 需要提供转发功能 与继承相反 其中B将继承所有A的
  • WTForm“OR”条件验证器? (电子邮件或电话均可)

    class ContactForm Form name StringField Name validators DataRequired Length max 255 email StringField Email validators O