laravel - 如何在注册验证器中为两个不同的表创建唯一列
问题描述
我正在创建两个不同的注册(用于管理员和用户)。但是验证器中的 username->unique 仅适用于表用户。
protected function validator(array $data)
{
return Validator::make($data, [
'firstname' => ['required', 'string', 'max:255', 'min:3'],
'middlename' => ['required', 'string', 'max:255', 'min:3'],
'lastname' => ['required', 'string', 'max:255', 'min:3'],
'username' => ['required', 'string', 'max:255', 'min:3', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
]);
}
从 users 表验证用户注册的唯一用户名,并从 admins 表验证管理员注册的唯一用户名。
解决方案
验证器应该只验证数据,将它与路由等概念结合起来是不好的......
我将创建一个自定义验证器类,它将表名作为参数。
然后,您可以在控制器中使用正确的表参数实例化该验证器(它将了解路由、请求等...)
推荐阅读
- rust - 如何将向量映射到 actix-web 客户端请求并按顺序运行它们?
- php - 参数必须是实现Countable HTML2PDF php的数组或对象
- c++ - 如何在微过滤器中的 IRP_Create 上获取复制文件的源路径
- apache-kafka-streams - KafkaStreams 如何实例化 ConsumerRecordFactory?
- python - .我有一个查询,为什么 print(emp.__repr__()) 不给出传递 3 个参数 ved, root, 5000 的错误,因为 __repr__() 只有 self 作为参数
- react-native - React Native - 带列的水平滚动
- google-analytics - 无法匹配 GA 高级细分和 BigQuery 结果
- callback - 我如何编写按键回调?
- swift - 错误枚举 - 案例的常用参数
- python - 使用 GridSearchCV 控制预测 > 0