Laravel 8.78 发布:自定密码验证规则、请求数据 mergeIfMissing、toHtmlString
Laravel 团队发布了 8.78,能够向默认密码验证添加自定义规则、mergeIfMissing() 请求方法、断言测试中的批次计数,以及 v8.x 分支中的最新更改。
定义额外的默认密码验证规则
Ash Allen 贡献了定义自定义验证规则,这些规则将使用 rules()
方法作为默认密码规则的一部分运行:
Password::defaults(function () {
return Password::min(8)
->symbols()
->mixedCase()
->uncompromised()
->rules(new ZxcvbnRule());
});
rules()
方法接受单个规则、规则数组或闭包验证规则的闭包。
如果缺失合并请求数据
David Peach 提供了一个mergeIfMissing()
HTTP 请求方法,如果请求中缺少键,该方法会将新输入合并到请求的输入中。
例如,如果您未选中表单复选框,则不会将其发送到服务器。您可能必须编写如下内容:
if ($request->missing('boolean_setting')) {
$request->merge(['boolean_setting' => 0]);
}
现在,您可以定义在参数缺少时与请求合并的值:
$request->mergeIfMissing(['boolean_setting' => 0])
断言批次数
@Chrysanthos 为 Bus facade 贡献了一个 assertBatchCount()
方法,该方法断言已经调度了多少批次:
Bus::assertBatchCount(3);
HTML 字符串方法
Lars Klopstra 为 Str 和 Stringable 贡献了一个toHtmlString()
方法:
// 之前
new HtmlString(Str::of($content)->markdown());
// 现在
Str::of($content)
->markdown()
->html();
发行说明
您可以在 GitHub 上面查看新功能和更新的完整列表以及 8.77.0 和 8.78.0 之间的差异。 以下发行说明直接来自 changelog:
v8.78.0
新增
- 新增
schedule:clear-mutex
命令 (#40135) - 新增了自定密码验证规则的功能 (#40137)
- 在 Illumbize Http 请求类中添加了一个
mergeIfMissing
方法 (#40116) - 新增
Illuminate/Support/MultipleInstanceManager
(40913ac) - 新增
SimpleMessage::lines()
(#40147) - 新增
Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount()
(#40217) - 使用广播驱动程序时仅启用
only-to-others
功能 (#40234) - 增加了在 JsonResource 响应上自定义 json 选项的功能 (#40208)
- 新增
Illuminate/Support/Stringable::toHtmlString()
(#40247)
更改
- 改进对自定义列类型的支持 (#40119)
- 删除控制台应用程序类中的无用检查 (#40145)
- 当排序操作的第一个元素是字符串时(即使是可调用的),按键对集合进行排序 (#40212)
- 如果有多个主机,请使用第一个主机
Illuminate/Database/Console/DbCommand::getConnection()
(#40226) - 反射器类的改进 (#40241)
修复
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: