【问题标题】:Class 'Validate' not found in Laravel Validation process在 Laravel 验证过程中找不到类“验证”
【发布时间】:2014-12-23 09:12:54
【问题描述】:

我现在正在学习 Laravel,但在页面中显示验证消息时遇到问题。 这是我点击提交按钮后的错误

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR) 
Class 'Validate' not found
----------------------------------------------
Open: C:\wamp\vhosts\flax_order\app\routes.php
                    'lastname'      =>  'min:2|max:15',
                    'firstname'     =>  'min:2|max:20',
                    'middlename'    =>  'min:10|max:20',
                    'password'      =>  'required|min:8|max:30',
                    'cpassword'     =>  'required|same:password'
                );

                $validator = Validate::make(Input::all(), $rules);

                if($validator->fails()) {

我将验证过程放在我的路线中。 这是我的示例代码。

这是表格

@if ($error->has())

                @foreach($errors->all() as $error)
                    {{ $error }}
                @endforeach

            @endif

<form action="{{ action('EmployeesController@handleRegister') }}" method="POST" role="form">

                <p class="required">Fields marked with (*) are required.</p>

                <div class="form-group">
                    <label>Employee Code: </label>
                    <input type="text" class="form-control tooltip_detail" name="emp_code" data-toggle="tooltip" value="" data-placement="top" title="{{ $instructions['code'] }}" />
                </div>
.....

这是我的控制器

public function register() 
    {

        $instructions = array(
                            'code'          => 'Ex: 0001',
                            'lastname'      => 'Ex: Peterson',
                            'firstname'     => 'Ex: Johlo',
                            'middlename'    => 'Ex: P.',
                            'password'      => 'Choose your password carefully',
                            'cpassword'     => 'Repeat your password'
                        );

        return View::make('register', array(
            'page_title'    => 'Flax: Food Ordering',
            'instructions'  => $instructions,
        ));

    }

    public function handleRegister() 
    {

    }

这是我的 routes.php

Route::get('/','EmployeesController@index');
Route::get('/register', 'EmployeesController@register');
Route::get('/handleRegister', 'EmployeesController@handleRegister');

Route::post('/handleRegister', function() 
            {

                $rules = array(
                    'emp_code'      =>  'numeric|exists:employees',
                    'lastname'      =>  'min:2|max:15',
                    'firstname'     =>  'min:2|max:20',
                    'middlename'    =>  'min:10|max:20',
                    'password'      =>  'required|min:8|max:30',
                    'cpassword'     =>  'required|same:password'
                );

                $validator = Validate::make(Input::all(), $rules);

                if($validator->fails()) {

                    $messages = $validator->messages();

                    return Redirect::to('register')->withErrors($validator);

                } else {

                    fd('ok');

                }

            }
        );

我不知道我哪里出错了。你能帮我解决这个问题吗?我在 Laravel 中不太好。

【问题讨论】:

  • 谢谢。它解决了。对不起这个简单的问题。 :)
  • 我有一个问题。在验证我是否有必要在路线中执行此操作?或者我可以在我的控制器和模型中执行此操作吗?

标签: php validation laravel


【解决方案1】:

您正在尝试使用 laravel 类,它是 validator 而不是 validate

这就是错误消息的意思。该类不退出。总之它给你提示

【讨论】:

  • 好的,谢谢先生的帮助。单击提交按钮后出现问题我有这个错误:ErrorException (E_UNKNOWN) Undefined variable: error (View: C:\wamp\vhosts\flax_order\app\views\register.blade.php)我已经通过使用此行传递了错误,但它没有显示在我的模板中`return Redirect::to('register')- >withErrors($validator);`
  • 好的,谢谢,我读到的关于验证的教程不太正确,有一些拼写错误。这就是为什么我得到这些错误。谢谢你提醒我.. :)
  • 就像电子书一样?如果是,我还没有。我只是依赖主网上的教程和一些博客.. :)
  • 好的,但它还没有完成.. 它是 449 页
  • @Jerielle 我不知道,但我喜欢那本书。祝你好运
猜你喜欢
  • 2020-12-12
  • 2016-12-21
  • 1970-01-01
  • 2013-12-01
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
相关资源
最近更新 更多