首页 > 其他分享 > pydantic学习与使用-15.校验邮箱格式EmailStr

pydantic学习与使用-15.校验邮箱格式EmailStr

时间:2023-09-07 11:58:20浏览次数:61  
标签:15 valid EmailStr address 邮箱 email pydantic

前言

pydantic 可以使用 EmailStr 校验邮箱格式

环境准备

EmailStr 需按依赖包ImportError: email-validator is not installed, run pip install pydantic[email]

pip install pydantic[email]

校验邮箱格式

from pydantic import BaseModel, EmailStr, validator
from typing import Optional


class User(BaseModel):
    name: str
    age: int
    email: EmailStr
    tel: Optional[str] = None


body = {
    "name": "yoyo",
    "age": 20,
    "email": "aa",
}

a = User(**body)
print(a.model_dump())

如果邮箱格式不合法,就会报错value is not a valid email address: The email address is not valid

pydantic_core._pydantic_core.ValidationError: 1 validation error for User
email
  value is not a valid email address: The email address is not valid. It must have exactly one @-sign. [type=value_error, input_value='aa', input_type=str]


标签:15,valid,EmailStr,address,邮箱,email,pydantic
From: https://www.cnblogs.com/yoyoketang/p/17684432.html

相关文章

  • 08:49:45,218 WARN JDBCExceptionReporter:71 - SQL Error: 156, SQLState: S1000 关
    昨晚运行以前的一个项目,在初始化数据的时候报:08:49:45,218 WARNJDBCExceptionReporter:71-SQLError:156,SQLState:S100008:49:45,218ERRORJDBCExceptionReporter:72-关键字'user'附近有语法错误。org.hibernate.exception.GenericJDBCException:couldnotexecute......
  • OpenSSH 用户枚举漏洞(CVE-2018-15473)【原理扫描】
    最烦做等保了!!!! 有没有同感的? 修复过程记录一下,为什么要记录呢,等保漏洞每次都是那些,我一直没有进行文档记录,导致我每次都要百度搜索解决。查看当前服务器openssh的版本#当前系统版本cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)ssh-vOpenSSH_7.4p1......
  • 面试经典150题(第1题)
    准大三生,最近一直在准备寒假实习,想要每天坚持刷Leetcode上面的一些经典面试算法题,选定了掘金作为自己的记录的平台!面试经典150题数组/字符串合并两个有序数组(https://leetcode.cn/studyplan/top-interview-150/)题目:给你两个按 非递减顺序 排列的整数数组 `nums1`和 `nums......
  • iPhone 15国行售价疑曝光:标准版5999元起、Pro版涨至8999元起
    苹果下周就要发布新iPhone了,不出意外的话,下周三一整天都会被iPhone15系列的各种新配置等信息刷屏。当然,最受关注的还是价格,不论任何配置最终都是要与价格相匹配的,就像流传最广的一句话“没有垃圾的产品,只有垃圾的价格”。据爆料,这次iPhone15和iPhone15Plus价格依然维持不变......
  • 第四款!酷睿Ultra 7 155H现身:终于看到频率了
    Intel将在本月晚些时候正式宣布代号MeteorLake的下一代全新酷睿Ultra,带来新工艺、新架构,命名体系也“焕然一新”。之前我们已经见过三款酷睿Ultra型号泄露,都隶属于H系列,分别是6+8+216核心22线程的酷睿Ultra71003H/1002H、4+8+214核心18线程的酷睿Ultra51003H。是的,5系列......
  • 15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized
    Synchronized本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronizedJava层面和C++层面的实现、锁升级的原理、源码等大概观看时间17分钟可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解:1、synchronized是怎么使用的?在Java层面是如何......
  • 软件测试|Chrome 115之后的版本,如何更新driver?
    问题描述前两天在运行一个web自动化测试脚本时,报了如下的错误,ThisversionofChromeDriveronlysupportsChromeversion113Currentbrowserversionis115.0.5790.110withbinary,如下图所示:该报错提示我,当前的driver只支持113版本的Chrome浏览器,但是我的Chrome已经自动更新......
  • P2215 [HAOI2007] 上升序列
    考虑一个长度为\(L\)的最长上升子序列\(P\),以它的第\(i\)个元素\(a_{x_i}\)开头的最长上升子序列长度至少为\(L-i+1\)。反之,若一个数满足以其开头的最长上升子序列长度至少为\(L-i+1\)则这个数必定可以作为\(P\)的第\(i\)个元素。所以我们可以先倒着跑一遍最长下降......
  • 第15章_File类与IO流 1
    第15章_File类与IO流11.File类的理解File类位于java.io包下,本章中涉及到的相关流也都声明在java.io包下。File类的一个对象,对应与操作系统下的一个文件或一个文件目录(或文件夹)File类中声明了新建、删除、获取名称、重命名等方法,并没有涉及到文件内容的读写操作。要想实现......
  • 跨越2000公里,15岁少年的云上逐梦
    本文分享自华为云社区《【先锋开发者云上说】跨越2000公里,15岁少年的云上逐梦》,作者:华为云社区精选。10岁学Python,12岁学C++在数十场科技创新大赛中拔得头筹为解决一个技术难题独自一人从大连飞往东莞HDC.Cloud2023现场与华为云扫地僧面对面交流这就是少年开发者苏家祺......