2017-01-17 57 views
0

要求我怎样才能得到所有的请求名称里面控制器$validator->fails()怎样才能进去控制器

$validator = Validator::make($request->all(), [ 
    'patient_uname' => 'required|max:255|Alpha', 
    'patient_pass' => 'required|max:255|Alpha' 
]); 

if ($validator->fails()) { 

} 

里面例如,如果patient_uname失败的它应该显示patient_name

+0

'$请求 - > patient_uname'是。 –

+0

这将显示值,我希望它显示patient_uname字面上 – Christian

回答

1

你可以得到这样所有失败的字段的键:

if ($validator->fails()) { 
    dd($validator->errors()->keys()); 
} 

返回此:

array:2 [ 
    0 => "patient_uname" 
    1 => "patient_pass" 
] 

你可以得到像这样的所有错误信息

if ($validator->fails()) { 
    dd($validator->errors()->all()); 
} 

这将返回:

array:2 [ 
    0 => "The patient uname field is required." 
    1 => "The patient pass field is required." 
] 

你可以得到一个特定的领域是这样的:

if ($validator->fails()) { 
    dd($validator->errors()->get('patient_uname')); 
} 

返回此:

array:1 [ 
    0 => "The patient uname field is required." 
] 
+0

我试着回显'验证器 - >错误() - >键()'但它不工作 – Christian

+0

我实际上使用ajax,所以我看不到错误,但我知道theres错误,因为有内部服务器错误,以防控制器出现问题,dd正在工作,但回声不是 – Christian

+0

'$ validator-> errors() - > keys()'是一个包含所有失败域的数组,而且你不能回显数组。对于ajax调用,你可以使用'return response() - > json($ validator-> errors());'它应该拥有前端所需的所有信息。 –

1

检查名称此

public function postReset(Request $request) 
    { 
      $message = [ 
       'patient_uname.required' => 'Patient name is required', 
       'patient_pass.required' => 'Patient pass is required' 
      ]; 
      $this->validate(
       $request, 
       [ 
       'patient_uname' => 'required|max:255|Alpha', 
       'patient_pass' => 'required|max:255|Alpha' 
       ], 
       $message 
      ); 

验证需要三个PARAMS

$validator = Validator::make($input, $rules, $messages); 

$messages = ['patient_uname.required' => 'patient name is required']; 
$rules  = ['patient_uname' => 'required|max:255|Alpha']; 

在你的问题只是传递消息阵列

$validator = Validator::make($request->all(), [ 
    'patient_uname' => 'required|max:255|Alpha', 
    'patient_pass' => 'required|max:255|Alpha' 
], $messages);