2017-07-02 62 views
1

我在我的網站上有一個表單,當用戶點擊添加按鈕和包含passwordpassword 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[]]'); 

所以,如果我只有一個形式,我的網絡將能夠匹配輸入的密碼,但如果我有兩個或更多表單,即使確認密碼字段與密碼匹配,我也會收到錯誤password does not match。我猜測我的驗證匹配密碼是不正確的。

+0

規則能否請你添加一些截圖,以確定問題清楚。 –

+0

供參考https://stackoverflow.com/questions/30838458/codeigniter-form-validation-rule-for-match-password –

回答

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) ....