laravel - Laravel 自定义验证规则。如何添加使用字符串表示而不是使用类名来传递规则的可能性?
问题描述
我是什么意思:
如文档所示:
...
'field' => [
'required',
'numeric',
new MyCustomRule
],
...
但是,如果我想在一个字符串中传递它并带有一些参数||选项签名(因为它是使用默认的“存在”规则实现的,我可以选择传递连接、表、字段、列等)怎么办?
...
'field' => 'required|numeric|my_rule:param1.param2,option1,option2',
...
我应该在哪里定义签名?谢谢!
解决方案
在里面扩展你的验证器App\Providers\AppServiceProvider
例如:
Validator::extend('rule', function (string $attribute, string $value, array $parameters) {
dump($attribute, $value, $parameters);
return $attribute == $value;
});
在此处查看一个工作示例。
推荐阅读
- javascript - 仅在第一个完成后启用第二个类型
- python - 使用共享库导入 python 包
- python - 无法在 Python 中安装 fancyimpute(适用于 Windows 10)
- node.js - 使用apache2将域名绑定到node.js中的REST API?
- mysql - MySQL中的排序列
- javascript - 如何在按钮单击时添加输入字段
- sql - 根据特定的子字符串短语获取数值
- angular - 调用component.html的插值到component.ts
- javascript - MobX:如何改变一个可观察值以响应另一个值的变化?
- vba - 在 Excel 中没有下一个