laravel - Laravel Validator - 在检查其他规则后检查自定义验证规则
问题描述
你好吗?希望你过得很好
我需要一个帮助Laravel Validator
,我创建了一个自定义验证规则,如下所示
$validation = Validator::make($request->all(), [
'user_id' => 'required',
'role' => ['required', new RoleExist($request->user_id)],
]);
看到我已经将一个参数传递给规则的构造函数,但是如果我没有传递请求new RoleExist($request->user_id)
,laravel 会给我错误500
user_id
错误是
Argument 1 passed to App\Rules\RoleExist::__construct() must be of the type integer, null given
我知道 user_id 没有在请求中传递,所以 laravel 给出了上述错误,但这里我的自定义规则应该在之后执行'user_id' => 'required',
自定义规则代码
private $userId;
public function __construct(Int $userId)
{
$this->userId= $userId;
}
public function passes($attribute, $value)
{
return empty(\App\User::where('user_id', $this->userId)->where('status', '1')->first());
}
有没有办法做同样的事情
先感谢您
解决方案
推荐阅读
- javascript - Express.js 与 EJS 应用程序错误:编辑表单未指示帖子的当前类别
- reactjs - 如何在 React 中将 svg 字符串呈现为图像?
- python - 避免 Seaborn barplot 颜色饱和度降低
- c++ - 编译 mongodb-cxx-driver 时对 bsoncxx 的未定义引用
- javascript - Google Apps 脚本:当两个数组匹配时合并数组
- java - 导入 excel 时出错:无法初始化类 org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller
- javascript - 多线程上下文中的 Performance.now()
- android - Room @Transaction 和 Rx 可完成
- microsoft-graph-api - 无法使用图形 api 获取频道
- spring - Apache Camel:帮助理解 SimpleScheduledRoutePolicy 的使用