【问题标题】:Laravel Email validation messageLaravel 电子邮件验证消息
【发布时间】:2017-08-21 06:37:59
【问题描述】:
我是 Laravel 的新手,正在尝试修复电子邮件验证消息。场景是:
如果我发送空值,验证器会返回响应“用户电子邮件字段是必需的”。
如果我发送无效值,例如“my_email_id”[没有@符号],它仍然返回“用户电子邮件字段是必需的”。
如果我发送像“my_email_id@domain”这样的空值,它仍然会返回“用户电子邮件必须是有效的电子邮件地址。”。
现在,我的问题是如何返回“用户电子邮件必须是有效的电子邮件地址”的响应。案例2也是?有什么办法吗,还是 Laravel 默认就是这样做的?
谢谢。
【问题讨论】:
标签:
laravel
validation
laravel-5.2
【解决方案1】:
您应该使用这样的自定义验证消息:
$rules = array(
'email'=>'required|email|unique:users'
);
$messsages = array(
'email.required'=>'The User Email must be a valid email address'
);
$validator = Validator::make(Input::all(), $rules, $messsages);
【解决方案2】:
Laravel 有一个内置的validation 用于电子邮件地址,恰好这些示例也直接解决了您的特定需求。
您需要研究使用电子邮件验证器和添加自定义错误消息,链接文档中详细记录了两者。
但是,我已经直接从链接资源中结合了这两种解决方案来解决您的需求:
$validator = Validator::make($request->all(), [
'email' => 'required|email|unique:users',
], [
'email.required' => 'The User Email must be a valid email address.'
)];