我是Laravel的新手并尝试修复电子邮件验证邮件。场景是:
如果我发送空值,验证器将返回响应“需要用户电子邮件字段”。
如果我发送了一个无效的值,例如'my_email_id'[没有@符号],它仍然会返回“需要用户电子邮件字段”。
如果我发送空值如'my_email_id @ domain',它仍会返回“用户电子邮件必须是有效的电子邮件地址。”
现在,我的问题是如何返回“用户电子邮件必须是有效的电子邮件地址”的回复。对于案例2也是如此?有没有办法,或者只是Laravel默认如何做到这一点?
感谢。
答案 0 :(得分:3)
您应该使用这样的自定义验证消息:
$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);
答案 1 :(得分:0)
Laravel有一个内置的validation用于电子邮件地址,实际上这些示例也直接解决了您的特定需求。
您需要查看使用电子邮件验证工具和添加自定义错误消息,两者都在链接文档中详细记录。
但是,我已经将链接资源中的两种解决方案直接结合起来,以满足您的需求:
$validator = Validator::make($request->all(), [
'email' => 'required|email|unique:users',
], [
'email.required' => 'The User Email must be a valid email address.'
)];