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项检查:
我可以在$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 = []);