在Laravel中设置"custom"错误而不进行请求>验证



我想在表单中显示错误,但无法通过验证进行检查。

刀片

<form action="/githubuser" methode="GET">
<div class="error">{{ $errors->first('CustomeError') }}</div>
<input type="text" name="userName" placeholder="GitHub Username ..." value="John12341234">
@if($errors->has('userName'))
<div class="error">{{ $errors->first('userName') }}</div>
@endif            
<input type="submit" value="SUBMIT">
</form>

问题是我在验证后启动了一个api调用。如果我没有得到";GitHubUser;作为回应,我想在刀片中打印一条错误消息。找不到GitHub用户。

控制器

public function show(Request $request)
{
$rules = ['userName' => 'required'];
$validator = Validator::make($request->input(), $rules);

if ($validator->fails()) {
return redirect('/')
->withErrors($validator)
->withInput();
}

$data = $this->gitHubUserService->getUserData($request->input('userName'));
/* User on Github not Found **/
if (! $data) {
// >>> THE LINE BELOW IS MY PROBLEM! <<<
return view('form')->withErrors($validator);
}
// ....
}

一天结束时,我希望在刀片中显示行<div class="error">{{ $errors->first('CustomeError') }}</div>

这可能吗提前感谢!

原始验证器没有得到任何错误,因为没有。因此,在返回表单视图之前,只需在if主体内的errors中添加一个新错误:

if(! $data){
$validator->errors()->add('customError', 'Github User not found!');
return view('form')->withErrors($validator);
}

最新更新