Laravel 5自定义验证

凯西

我是Laravel 5的初学者。基本上,我有两个表,users和teams表。我使用了内置的寄存器功能并对其进行了更改。在用户注册之前,他必须知道他所属的团队名称(下拉列表)以及团队代码。如果团队代码与他选择的团队名称不匹配,它将仅显示验证错误。我应该如何在团队代码的验证规则中引用输入(团队名称)?我听说过存在验证规则,但是我认为使用自定义规则是正确的。

在我的registrar.php中:

public function validator(array $data)
{
    return Validator::make($data, [
        'username' => 'required|max:255',
        'password' => 'required|confirmed|min:6',
        'firstname' => 'required|max:255',
        'lastname' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'team_id' => 'required',
        // 'team_code' => don't know what to put here.
    ]);
}

我用Google搜索了Laravel的自定义验证,似乎还不足以让我了解它是如何工作的。有人可以帮我吗?非常感谢您的帮助!

超级飞

您可以使用具有允许where子句的扩展格式的存在验证器,并传递team_id来确保id和代码存在于同一行中:

'email' => 'required|email|max:255|unique:users',
'team_id' => 'required',
'team_code' => 'exists:teams,code,team_id,' . Input::get('team_id')

这将检查team_codeteams表中存在的行,其中该行team_id与输入的给定ID相匹配。

您可以使用自定义验证器,但我认为它不会对您的应用程序增加太多-这实际上不是将要重用的特定于您的应用程序的逻辑。任何自定义验证器仍将要求您将team_id用户的追加到验证字符串,这不是一种完全干净的方法。

您甚至可以考虑将这种类型的特定于应用程序的逻辑检查移到验证器之后-似乎验证器的意图主要是根据某些静态条件检查输入,以检查输入是否合理。在提供的验证器中,只有exists可以进行大量的数据库交互unique

来源:文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义验证器在Laravel 5中

来自分类Dev

Laravel 5注册商中的自定义验证规则

来自分类Dev

Laravel 5 自定义身份验证尝试

来自分类Dev

可选的自定义列规则。Laravel 5 验证规则

来自分类Dev

Laravel 5自定义验证-自定义MySQL查询

来自分类Dev

Laravel 5中用于自定义验证规则的自定义占位符

来自分类Dev

Laravel 5自定义验证-自定义MySQL查询

来自分类Dev

Laravel自定义身份验证

来自分类Dev

Laravel自定义验证-获取参数

来自分类Dev

Laravel自定义验证消息

来自分类Dev

Laravel自定义身份验证

来自分类Dev

Laravel中的自定义验证消息

来自分类Dev

Laravel 4中的自定义验证

来自分类Dev

Laravel扩展验证自定义消息

来自分类Dev

laravel上的自定义验证消息

来自分类Dev

Laravel多重自定义验证

来自分类Dev

Laravel 5.1:自定义验证类

来自分类Dev

Laravel自定义验证规则

来自分类Dev

Laravel自定义验证消息

来自分类Dev

在Laravel 5中使用表单请求验证时如何添加自定义验证规则

来自分类Dev

为laravel5表单验证中的字段设置自定义验证消息?

来自分类Dev

Laravel5-自定义验证器-未定义的setPresenceVerifier()

来自分类Dev

Laravel 5-在哪里放置可重用的自定义验证器?

来自分类Dev

如何在Laravel 5中测试自定义验证规则?

来自分类Dev

如何在laravel 5中提供自定义验证消息

来自分类Dev

Laravel 5-如何将自定义消息添加到验证?

来自分类Dev

Laravel 5自定义验证规则来检查会话数据

来自分类Dev

Laravel 5-使用LDAP的自定义用户身份验证

来自分类Dev

LARAVEL5自定义登录