Laravel 5.8.33 中新增的电子邮件验证规则选项
发布时间 作者 Paul Redmond
Laravel 团队在本周发布了 v5.8.33,它在电子邮件验证规则中添加了新功能,并包含了 Laravel v5.8 版本的最新更改和修复。
首先,表单请求现在可以提供一个 passedValidation()
回调函数,该函数将在验证通过后触发。
public function passedValidation(){ $this->replace(['name' => 'Adam']);}
passedValidation
回调函数可以用于对数据应用过滤器,而不会干扰验证过程。
接下来,Dries Vints 使用 egulias/EmailValidator 包实现了电子邮件验证支持的新类型。改进的电子邮件验证规则引入了在检查有效电子邮件时添加多个电子邮件验证器的功能。
以下是一个验证规则示例
$request->validate([ 'email' => 'email:rfc,dns']);
在撰写本文时,可能的规则包括:rfc, strict, dns, spoof, filter
。文档已更新,其中包含电子邮件验证规则中新增的可用参数,您可以在最新的 Laravel 5.8 验证文档 中查看。
接下来,Dries Vints 以向后兼容的方式添加了对 Redis 5.0 的支持,因此您现在可以从该版本开始支持 v5.0。
接下来,为 MySQL 和 Postgres 添加了“insert ignore”支持。要详细了解其工作原理,请查看 Pull Request #29639。忽略在插入期间的工作方式是,如果数据库遇到错误,它通常会中止并且不会插入任何行。使用忽略,数据库将插入有效行并忽略无效数据。
最后添加的新功能是能够使用自定义 Whoops 处理程序。有关更多详细信息,请查看 Pull Request #29564。
您可以在下面查看完整的修复列表,以及 5.8.32 和 5.8.33 之间的完整差异。Laravel 5.8 的完整发布说明可以在 GitHub 的 5.8 版本日志 中找到。
v5.8.33
新增功能
- 添加了
ValidatesWhenResolvedTrait::passedValidation()
回调函数 (#29549) - 实现了电子邮件验证支持的新类型 (#29589)
- 添加了 Redis 5 支持 (#29606)
- 添加了
insertOrIgnore
支持 (#29639, 46d7e96, #29645) - 允许覆盖现有的
Whoops
处理程序。(#29564)
修复
- 修复了验证消息中不可显示的布尔值 (#29560)
- 使用 AWS IAM 时避免未定义索引错误 (#29565)
- 修复了
ProviderRepository::writeManifest()
中的异常消息 (#29568) - 修复了 ResetPassword 中的无效链接过期计数 (#29579)
- 修复了
output
和questions
预期的命令测试 (#29580) - 在事件发现期间添加了对不可实例化类的忽略 (#29587)
- 在输出中使用了种子文件的真实类名 (#29601)
重构
- 简化了
isset()
(#29581)