自定义 Laravel 验证消息

2022-08-30 09:07:03

我正在尝试创建自定义消息以进行 Laravel 5 中的验证。以下是我到目前为止尝试过的方法:

$messages = [
    'required'  => 'Harap bagian :attribute di isi.',
    'unique'    => ':attribute sudah digunakan',
];
$validator = Validator::make($request->all(), [
    'username' => array('required','unique:Userlogin,username'),
    'password' => 'required',
    'email'    => array('required','unique:Userlogin,email'),$messages
]);

if ($validator->fails()) { 
    return redirect('/')
        ->withErrors($validator) // send back all errors to the login form
        ->withInput();
} else {
    return redirect('/')
        ->with('status', 'Kami sudah mengirimkan email, silahkan di konfirmasi');   
}   

但它不起作用。该消息仍与默认消息相同。如何解决此问题,以便我可以使用我的自定义消息?


答案 1

拉拉维尔 5.7.*

你也可以试试这样的东西。对我来说,当您想要验证请求时,在方法中制作自定义消息的最简单方法:

public function store()
{
    request()->validate([
        'file' => 'required',
        'type' => 'required'
    ],
    [
        'file.required' => 'You have to choose the file!',
        'type.required' => 'You have to choose type of the file!'
    ]);
}

答案 2

如果你使用最简单的一个,那么你应该写这样的代码。$this->validate()

$rules = [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required|max:250',
    ];

    $customMessages = [
        'required' => 'The :attribute field is required.'
    ];

    $this->validate($request, $rules, $customMessages);

推荐