如何修改Laravel 5默认认证系统

时间:2015-05-20 01:22:39

标签: php authentication laravel laravel-5

我使用的是默认的Laravel 5身份验证系统。我想简单地添加一个检查,确认用户正在使用学校电子邮件帐户(我正在为我的大学写这个)。例如,我想确保他们使用 @ harvard.edu ,而不是 @ gmail.com 。如果他们没有使用正确的电子邮件类型,我想在$errors变量中添加错误,并将其与注册表单上的其他可能错误一起打印。

看来实际验证发生在Registrar.php中。我假设我将不得不在验证器功能的电子邮件部分添加一些东西。

public function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|confirmed|min:6',
    ]);
}

我感到困惑的另一部分是实际错误消息所在的位置。

我是Laravel的新手,先谢谢了。

1 个答案:

答案 0 :(得分:3)

要添加自定义验证,您可以阅读http://laravel.com/docs/5.0/validation#custom-validation-rules处的文档。例如,在你的情况下:

INSERT

之后,修改您的Validator::extend('email_harvard', function($attribute, $value, $parameters) { $segments = explode("@", $value, 2); return end($segments) == "harvard.com"; }); 规则,更改行:

validator

是:

'email' => 'required|email|max:255|unique:users',

关于错误消息,您可以在此处阅读。在Laravel 5中,验证消息位于'email' => 'required|email|email_harvard|max:255|unique:users', ,其中resources/lang/xx/validation.php是语言代码。