2017-07-03 9 views
0

私はフォームを検証するドライバを作成しようとしています。だから、のcontrolerに私はこのように、運転して、私の検証フォームをロードします。CodeIgniterのドライバとライブラリ

コントローラー:

(...) 

    $this->load->driver('user'); 
    $this->user->register->validate_form($config); 
(...) 

ドライバ:

public function validate_form($config){ 


     $this->form_validation->set_rules($config); 

      if ($this->form_validation->run() == FALSE){ 

(...) 

エラーメッセージがあります:

メッセージ:メンバーに電話する関数non-objectのset_rules()関数

問題は何ですか? Form_validationがロードされます。

+0

なぜドライバ? https://www.codeigniter.com/userguide2/libraries/form_validation.html –

+0

はい、ideiaはドライバ内でform_validationライブラリを取得します。問題は、かもしれない。ドライバ内でライブラリ(loke form_validation)を取得することは可能ですか? –

答えて

0

You just create a validation class like below 
 

 
<?php 
 
defined('BASEPATH') OR exit('No direct script access allowed'); 
 
class Validation{ 
 
\t public \t $v_required ='required|trim'; 
 

 
\t //Valid name 
 
\t public \t $v_name ='trim|min_length[3]|max_length[15]|regex_match[/^[A-Za-z][A-Za-z0-9 .]+$/]'; 
 
    public $v_name_msg=array('required'=>'Provide %s.','regex_match'=>'Must starts with alphabet,No special chars are allowed.'); 
 
} 
 
?> 
 
    
 
After call this to your controller like 
 
    
 
require_once(APPPATH."controllers/classes/Validation.php"); 
 
    
 
After creare a object and use validation class 
 
    
 
$da=new validation(); 
 
$this->form_validation->set_rules('name','Name',$da->v_name,$da->v_name_msg);