Laravel 4自定义验证功能,无法正常工作?

时间:2014-04-15 21:48:15

标签: php laravel laravel-4

我正在尝试拥有自己的简单自定义验证功能

这是我的代码:

    $rules = array(
                    'first_name'=>'required|alpha|min:2',
                    'last_name'=>'required|alpha|min:2',
                    'email'=>'sometimes',
                    'password'=>'alpha_num|between:6,12|confirmed',
                    'password_confirmation'=>'alpha_num|between:6,12'
                    );
                    // run the validation rules on the inputs from the form
                    $input = Input::all();
                    $validator = Validator::make($input, $rules ); 
                    $validator->sometimes('email', 'required|email', function($input)
                    {
                            // get user info from db 
                          $user = User::find(Input::get('id'));

                      if (Input::get('email') != $user->email)
                         {
                            // find that email in the database 
                             $foundemail = DB::table('users')->where('email', '=' ,Input::get('email'))->get();
                            if(!empty($foundemail))
                             return false;


                          }
                          else
                          {
                            return true;

                          }
                  });   

如何向此添加自定义消息,基本上我需要检查电子邮件字段: 1)。需要 2)。电子邮件 3)。如果编辑的电子邮件与数据库中的电子邮件相同,则继续编辑。如果电子邮件不同,我需要检查输入的电子邮件,如果它在数据库中并显示错误

我怎么能这样做请帮助

由于

1 个答案:

答案 0 :(得分:1)

Laravel提供内置规则来检查数据库中的值是否唯一,请查看:http://laravel.com/docs/validation#rule-unique