我的网站上有一个表单,当用户点击添加按钮以及包含password
和password confirmation
字段的表单时,该表单会成倍增加。
以下是我对密码字段的看法:
<div class="col-md-6 form-group">
<label>PASSWORD</label>
<input type="password" name="user_password[]" id="user_password" class="form-control" required>
<div><?php echo form_error('user_password[]');?></div>
</div>
<div class="col-md-6 form-group">
<label>CONFIRM PASSWORD</label>
<input type="password" name="user_confirmpass[]" id="user_confirmpass" class="form-control" required>
<div><?php echo form_error('user_confirmpass[]');?></div>
</div>
这就是我如何匹配密码(控制器):
$this->form_validation->set_rules('user_password[]', 'Password', 'trim');
$this->form_validation->set_rules('user_confirmpass[]', 'Confirm Password', 'trim|matches[user_password[]]');
因此,如果我只有一个表单,我的网页将能够匹配输入的密码,但如果我有两个或更多表单,我将收到错误{{ 1}}即使确认密码与密码字段匹配。我猜我匹配密码的验证是不正确的。
答案 0 :(得分:1)
将密码字段名称更改为密码并确认密码为conf_password或confirm_password然后在控制器中制定规则,如
$config=array(
array(
field=>'password',
label=>'Password',
rules=>'trim|required'
),
array(
field=>'confirm_password',
label=>'Confirm Password',
rules=>'trim|required|matches[password]'
)
);
现在设定规则
$this->form_validation->set_rules($config);
// Check it
if($this->form_validation->run()==false) ....