我使用的是默认的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的新手,先谢谢了。
答案 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
是语言代码。