Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用laravelcollective/html validator的规则数组检查表单的I2字段是否具有相同的内容?_Php_Laravel_Laravel 5_Laravel 5.3_Laravel Validation - Fatal编程技术网

Php 如何使用laravelcollective/html validator的规则数组检查表单的I2字段是否具有相同的内容?

Php 如何使用laravelcollective/html validator的规则数组检查表单的I2字段是否具有相同的内容?,php,laravel,laravel-5,laravel-5.3,laravel-validation,Php,Laravel,Laravel 5,Laravel 5.3,Laravel Validation,我是拉维尔的新手,我有以下问题 我有一种处理表单提交的方法: public function store(Request $request) { Log::info('store() START'); $data = Input::all(); Log::info('INSERTED DATA: '.implode("|", $data)); $rules = array( 'name' => 'required',

我是拉维尔的新手,我有以下问题

我有一种处理表单提交的方法:

public function store(Request $request) {

    Log::info('store() START');

    $data = Input::all();

    Log::info('INSERTED DATA: '.implode("|", $data));

    $rules = array(
        'name' => 'required',
        'surname' => 'required',
        'login' => 'required',
        'email' => 'required|email',
        'emailConfirm' => 'required|email',
        'pass' => 'required',
        'passlConfirm' => 'required',
        'g-recaptcha-response' => 'required|captcha',

    );

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

    if ($validator->fails()){
        return Redirect::to('/registration')->withInput()->withErrors($validator);
    }
    else{
        // Do your stuff.
    }
}
如您所见,它包含一个$rules数组,其中包含验证规则

它工作得很好,但我还希望执行以下2项检查:

  • 电子邮件字段必须包含与电子邮件确认字段相同的文本

  • pass字段必须包含与passConfirm字段相同的文本


  • 我可以在$rules数组中实现这种检查吗?

    实际上,Laravel附带了名为的验证规则。您需要将您的字段更改为
    email\u confirmation
    pass\u confirmation
    ,并将
    confirmatied
    规则添加到
    email
    pass
    字段。

    正如@Mariusz所回答的那样,Laravel将值比较规则设置为confirmation规则。要实现输出,您应该编写

     $rules = array(
        'name' => 'required',
        'surname' => 'required',
        'login' => 'required',
        'email' => 'required|confirmed|email',
        'pass' => 'required|confirmed',
        'g-recaptcha-response' => 'required|captcha',
    
    );
    
    正如您所提到的,您正在使用laravelcollective/html,然后还必须添加以下代码来生成确认字段

    echo Form::email("email_confirmation",null, $attributes = []);
    echo Form::password("pass_confirmation",null, $attributes = []);