gpt4 book ai didi

laravel - 使用 formRequest 将错误添加到验证错误

转载 作者:行者123 更新时间:2023-12-02 16:37:08 30 4
gpt4 key购买 nike

我正在尝试弄清楚如何在使用验证槽请求时将错误消息添加到由 Illuminate\Support\MessageBag 生成的默认 $error 中。

我在 google 和 laravel 文档上进行了搜索,但没有真正找到可以为我澄清这一点的信息。

AuthController

<?php
namespace App\Http\Controllers\Auth;

use Auth;
use App\User;
use App\Http\Requests\LoginFormRequest;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

/*
* AuthController
*/
class AuthController extends Controller {
/*
* Create view
*
* @return View
*/
public function getLogin() {
return view('auth.login');
}

/*
* Validate Login
*
* @return Redirect route
*/
public function postLogin(LoginFormRequest $request) {
if (Auth::attempt(array('email' => $request->email, 'password' => $request->password), $request->remember)) {
return redirect()->intended('home')->with('success-message', 'Succesfully authenticated');
} else {
$validator->addMessage('Incorrect email and password combination');
return redirect('account.login')->withErrors($validator)->withInput();
}
}
}

登录表单请求

<?php 

namespace App\Http\Requests;

use Response;
use Illuminate\Foundation\Http\FormRequest;

class LoginFormRequest extends FormRequest {

public function rules() {
return array(
'email' => 'required|email',
'password' => 'required|between:8,20'
);
}

public function authorize() {
return true;
}
}

希望有人曾经遇到过这个问题并可以帮助我!

最佳答案

只需将 messsages() 函数添加到您的 LoginFormRequest 类中即可:

public function messages()
{
return array(
'email.required' => 'The email address is required.',
'password.required' => 'The password is required.',
'password.between' => 'The password should be between 8 and 20 characters.',
);
}

使用点符号,您首先指定字段,然后指定验证器的类型。

关于laravel - 使用 formRequest 将错误添加到验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32892487/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com