laravel - FormRequests 验证后如何添加错误?
问题描述
FormRequests 验证后如何添加错误?
如果当前输入的密码不匹配,password_repository->update() 将返回错误。
password_repository->update() 调用外部 API。
我想根据存储库的返回值在控制器中添加一个错误。
在PasswordRequest中,无法描述调用外部API后的验证,所以很麻烦。
出于这个原因,我想在执行 password_repository->update() 之后在控制器中添加一个错误。
密码控制器.php
public function completeEdit(PasswordRequest $request)
{
$input = $request->only(['password', 'new_password']);
$data = $this->password_repository->update($input);
//I want to add an error at this point!!!
return view('pages.password.edit.complete');
}
}
密码请求.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class PasswordRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'password' => 'required',
'new_password' => 'required|confirmed',
'new_password_confirmation' => 'required',
];
}
}
解决方案
有错误的重定向可以帮助你。
return redirect()->back()->withErrors([
'Password not correct',
]);
或返回特定路线。
return redirect()->route('password.create')->withErrors([
'Password not correct',
]);
推荐阅读
- powershell - PSEXEC的任何替代品?
- django - Problem with save method overriding attribute value
- python - 散景线开/关示例无法正常工作
- sphinx - SphinxSearch - 索引器配置选项问题
- java - Apereo CAS OAuth2:callbackAuthorize 将位置切换为 HTTP
- python - 使用 python boto3 部署 EKS 集群
- swift - 动画后快速更改视图
- linux - 与使用 AI_V4MAPPED 相关的 macOS getaddrinfo() 错误?
- sql - 根据整数变量从临时表中选择 TOP 月份和年份
- javascript - ajax回调中未设置变量范围