Laravel 验证器面向对象包装器
发布日期:作者: Paul Redmond
由 Krzysztof Rewak 开发的 Laravel 验证器面向对象包装器包提供了所有字符串规则到链式方法的映射。该构建器可以帮助您编写面向对象的规则,并将它们转换为相应的字符串形式。
$validator = new ValidationBuilder();$validator->validate("email", function (Field $field): void { $field->string()->required()->email(["rfc"])}); $validator->getRules();// ["email" => "string|required|email:rfc]
以下是一个嵌套验证规则的示例:
$validator = new ValidationBuilder();$validator->validateEach("tags", function (Field $field): void { $field->array();});$validator->validateInEach("id", "tags", function (Field $field): void { $field->required()->exists("tags", "id");}); $validator->getRules();// ["tags.*:" => "array", "tags.*.id:" => "required|exists:tags,id"]
最后,您也可以在表单请求中使用该构建器:
/** * @return array */public function rules(): array{ $this->builder->validate("email", function (Field $field): void { $field->required()->string()->email()->unique("users", "email"); }); $this->builder->validate("password", function (Field $field): void { $field->required()->string()->min(6)->confirmed(); }); return $this->builder->getRules();}
您可以在 GitHub 上了解更多关于该包的信息,获取完整的安装说明并查看源代码:krzysztofrewak/laravel-oop-validator。
该包已提交到我们的 Laravel 新闻链接 部分。链接是社区发布关于 Laravel 生态系统的包和教程的地方。请在 Twitter 上关注我们 @LaravelLinks