Php 如何自定义重置密码验证消息以及表单验证?
您好,我的网页模板默认语言是波斯语,目前, 我把语言的翻译保存在数据库里。所以我需要翻译所有表单验证消息。我像这样编辑了我的Php 如何自定义重置密码验证消息以及表单验证?,php,laravel,laravel-5,Php,Laravel,Laravel 5,您好,我的网页模板默认语言是波斯语,目前, 我把语言的翻译保存在数据库里。所以我需要翻译所有表单验证消息。我像这样编辑了我的RegisterController验证消息,它工作正常 如何更改重置密码的验证消息???我是拉威尔的新手 有人能帮我吗?这些消息使用区域设置/翻译文件进行管理。 您可以通过resource/lang/validation.phpSendsPasswordResetEmails更改验证消息。trait用于ForgotPasswordController中,它有一个处理验证规
RegisterController
验证消息,它工作正常
如何更改重置密码的验证消息???我是拉威尔的新手
有人能帮我吗?这些消息使用区域设置/翻译文件进行管理。
您可以通过
resource/lang/validation.php
SendsPasswordResetEmails
更改验证消息。trait用于ForgotPasswordController
中,它有一个处理验证规则及其消息的方法validateEmail
。如果要更改验证及其消息,请覆盖ForgotPasswordController
中的两个函数
按如下方式更改代码:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Helpers\Translate;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Validate the email for the given request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateEmail(Request $request)
{
$this->validate($request,
[
'email' => 'required|email'
],
$messages = [
'email.required' => Translate::translate('Email_is_required.',session('locale')),
'email.email' => Translate::translate('Type_valid_email.',session('locale')),
]);
}
}
我希望你能理解。如果有任何困惑,请随时询问。我的翻译不在文件中。我的语言在数据库中我添加了错误的答案首先看一下我最近添加的,我认为这应该有效。它将错误
参数1传递给App\Http\Controllers\Auth\ForgotPasswordController::validateEmail()必须是App\Http\Controllers\Auth\Request的实例,我添加了使用照亮\Http\Request的@AbdulAhmadMatin实例代码>在顶部,您在代码中添加了吗?现在。我还想改变我是如何做的,它有任何trait方法?你在吗。ResetPasswordController
有什么特征方法吗?@AbdulAhmadMatin当然有,t是ResetsPasswords
,如果你愿意,我可以在上面的答案中添加更多的代码
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Helpers\Translate;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
$messages = [
'email.required' => Translate::translate('Email_is_required.',session('locale')),
'email.email' => Translate::translate('Type_valid_email.',session('locale')),
];
return Validator::make($data, [
'email' => ['required', 'string', 'email', 'max:255'],
],$messages);
}
}
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Helpers\Translate;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Validate the email for the given request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateEmail(Request $request)
{
$this->validate($request,
[
'email' => 'required|email'
],
$messages = [
'email.required' => Translate::translate('Email_is_required.',session('locale')),
'email.email' => Translate::translate('Type_valid_email.',session('locale')),
]);
}
}
/**
* Get the password reset validation rules.
*
* @return array
*/
protected function rules()
{
// If you have further fields and rules you can add in following array.
return [
'token' => 'required',
'email' => 'required|email',
'password' => 'required|confirmed|min:6',
];
}
/**
* Get the password reset validation error messages.
*
* @return array
*/
protected function validationErrorMessages()
{
return [
// Here write your custom validation error messages
];
}