相关疑难解决方法(0)

Laravel 5.2验证错误

我在Laravel 5.2中验证有些麻烦当我在这样的控制器中尝试验证请求时

$this->validate($request, [
                'title' => 'required',
                'content.*.rate' => 'required',
            ]);
Run Code Online (Sandbox Code Playgroud)

验证器捕获错误,但不将它们存储到会话中,所以当我尝试在模板中调用此代码时

 @if (isset($errors) && count($errors) > 0)
        <div class="alert alert-danger">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif
Run Code Online (Sandbox Code Playgroud)

Laravel抛出错误

Undefined variable: errors (View: /home/vagrant/Code/os.dev/resources/views/semantic/index.blade.php)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此代码验证时

 $validator = Validator::make($request->all(), [
                'title' => 'required',
                'content.*.rate' => 'required'
            ]);

            if ($validator->fails()) {
                return redirect()
                    ->back()
                    ->withInput($request->all())
                    ->withErrors($validator, 'error');
            }
Run Code Online (Sandbox Code Playgroud)

变量$ error在模板中也不可用,但如果我尝试在控制器中显示错误

   if ($validator->fails()) {
                dd($validator->errors()->all());
            }
Run Code Online (Sandbox Code Playgroud)

错误显示但我无法从模板访问它们.

怎么了?

laravel laravel-validation laravel-5.2

21
推荐指数
3
解决办法
4万
查看次数

Laravel 5.2没有显示表单验证错误

这很奇怪.我一直在谷歌搜索试图找到我的问题的解决方案,由于不同的版本或不同的请求 - 控制器处理,大多数解决方案不适合我.

这是怎么回事.

我有一个表格:

<div class="form-group">
    Name *
    {!! Form::text('name', '', ['class'=>'form-control', 'placeholder'=>'Required field']) !!}
</div>
Run Code Online (Sandbox Code Playgroud)

并要求:

class ContactFormRequest extends Request
{

    public function authorize()
    {
        return true;
    }


    public function rules()
    {
        return [
            'name' => 'required|max:64',
            'email' => 'required|email|max:128',
            'message' => 'required|max:1024',
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我将名称字段留空,因此验证失败,应该返回联系表单页面并显示错误:

@if(count($errors) > 0)
        <div class="alert alert-danger">
            <ul>
            @foreach($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
            </ul>
        </div>
@endif
Run Code Online (Sandbox Code Playgroud)

它没有显示!如果我vardump$errors变量,我得到这个:

object(Illuminate\Support\ViewErrorBag)[161]
  protected 'bags' => 
    array (size=0)
      empty
Run Code Online (Sandbox Code Playgroud)

如果我正确填写表单字段,它会成功地将我发送到成功页面,一切都很完美.我现在需要的是让这个错误的东西正常工作:S

先感谢您!

php forms laravel laravel-5.2

8
推荐指数
1
解决办法
2941
查看次数

标签 统计

laravel ×2

laravel-5.2 ×2

forms ×1

laravel-validation ×1

php ×1