【问题标题】:unique database entry per user in laravellaravel 中每个用户的唯一数据库条目
【发布时间】:2018-10-01 12:11:53
【问题描述】:

我希望以这种方式验证我的创建类别表单:

User1 可以创建类别“代码”

User1 无法创建另一个类别“代码”

User2 可以创建类别“代码”

User2 不能创建另一个类别“代码”

我试图在我的控制器验证器中写这个,但我似乎无法让它工作。

这是我的验证规则:

'title' => 'required|max:100|unique:categories,title,user_id'

任何帮助将不胜感激!谢谢!

【问题讨论】:

标签: php mysql database laravel laravel-validation


【解决方案1】:

您可以创建自己的自定义验证规则。运行命令:

php artisan make:rule UserCodePostLimit

在生成的类中,您将能够拥有自定义逻辑:

public function passes($attribute, $value)
{
    return Category::whereUserId($value)->count() !== 0
}

这样你就可以在你的验证规则中注册它:

'title' => ['required', 'max:100', new UserCodePostLimit]

所有更多信息都可以在文档中找到:https://laravel.com/docs/5.6/validation#custom-validation-rules

【讨论】:

    猜你喜欢
    • 2015-08-05
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    相关资源
    最近更新 更多