我想在表单中显示错误,但无法通过验证进行检查。
刀片
<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);
}