laravel 4中的验证用法

太空猴

我现在正在使用Laravel 4验证。我的基本设置已完成并经过测试。我可以在视图中填写表格并提交给控制器。我可以使用模型将所有详细信息保存到数据库。我现在在验证方面遇到问题。

我使用Input :: get()捕获控制器中每个发布的变量。我读到验证应该理想地在模型中完成。我应该在哪里调用验证器?模型还是控制器?我应该如何将$ input传递给验证器?它是所有已发布变量的数组,还是我缺少某些内容?

Laravel 4文档确实无法用示例说明常见用法问题。

这是我在模型中设置的验证器:

public static function validate($input) 
     {
        $rules = array(
            # place-holder for validation rules
            'firstname' => 'Required|Min:3|Max:40|Alpha',
            'lastname' => 'Required|Min:3|Max:40|Alpha',
            'email'     => 'Required|Between:3,64|Email|Unique:users',
            'country'       => 'Required',
            'password'  =>'Required|AlphaNum|Between:7,15|Confirmed',
            'password_confirmation'=>'Required|AlphaNum|Between:7,15'

        );

        # validation code
        $validator = Validator::make($input, $rules);

        /*if( $validator->passes() ) {

        } else { 
            # code for validation failure
        }*/
     }

控制器:

public function register()
    {
        /*Create new user if no user with entered email exists. Use validator to ensure all fields are completed*/
        $user = new User;

        /*Handle input in POST*/
        $email = Input::get('email');
        $password = Input::get('password');
        $passwordConfirmed = Input::get('password_confirmation');
        $firstName = Input::get('firstname');
        $lastName = Input::get('lastname');
        $country = Input::get('country');

        $user->email = $email;
        $user->password = Hash::make($password);
        $user->firstname = $firstName;
        $user->lastname = $lastName;
        $user->country = $country;

        //$user->save();


        $this->layout->content = View::make('test');
    }

到目前为止,在验证方面,我一直关注此链接请帮忙,因为我是这个框架的新手

用户名

您缺少验证器中的输入,但未定义它

像这样使用

$input = Input::all();

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

或者

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

并查看论坛,这将比该博客对您有更多帮助:http : //forums.laravel.io/viewtopic.php?id=12104

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章