这就是我所拥有的:
$data = Input::all();
$validator = Validator::make($data, Vehicle::$rules);
if($validator->fails()) {
return Redirect::back()->withErrors($validator)->withInput();
}
但我的Vehicle::$rules
无法涵盖我需要验证的所有内容。如何将其他错误消息添加到$validator
?
我试过
$validator->errors()->add("xxx","yyy")
但它似乎并没有真正添加错误。
答案 0 :(得分:1)
因此,如果我理解正确,您希望在日期上运行其他检查,如果有错误,请将其添加到withErrors()
方法。以下是我认为您正在寻找的内容:
$errors = [];
$data = Input::all();
$validator = Validator::make($data, Vehicle::$rules);
if($validator->fails()) {
$errors = $validator->errors()->toArray();
}
// "manual" check
if($data['field'] < 10){
$errors['field'] = ['My custom error.']
}
if(!empty($errors)){
return Redirect::back()->withErrors($errors)->withInput();
}
答案 1 :(得分:0)
如果您想更改默认验证消息,可以通过编辑此文件resources\lang\en\validation.php
如果您想检查表格中所要求的数据是否适合您的申请,您可以使用if条件。示例:如果要强制使用用户名字段(在Laravel验证中为required
),则代码在控制器中应如下所示:
public function store(Request $request){
if($request['username'] == ''){
Session::flash('error_message','The username field is required!');
return redirect('previousPageRoute');
}
Session::flash('success_message','Username collected successfully!');
return redirect('nextPageRoute');
}
您的视图文件应该显示session
消息 -
@if(Session::has('error_message'))
{{ Session::get('error_message') }}
@if(Session::has('success_message'))
{{ Session::get('success_message') }}
@endif