2012-04-18 10 views
1

フィールドが「P」または「S」の文字で始まるようなコード欄での検証規則を設定したい、それ以外の場合は無効です。どのように私はCodi​​gniter検証ライブラリを使用してそれを行うことができますか?文字列の正確なマシニングのためのコーディニータ検証

Test Case 1: input: A145874 ------- invalid Must start with P or S 
Test Case 2: input: P258741 ------- valid 
Test Case 3: input: P45KK91 ------- invalid Must not contain Letters in other positions rather the first one. 
Test Case 4: input: S457821 ------- valid 

答えて

1

カスタム検証ルールを作成する必要があります。このような何か:

$this->form_validation->set_rules('field_name', 'Field Name', 'callback_check_first_char'); 

The documentation explains it all pretty clearly

public function check_first_char($str) { 
    $first_char = substr($str, 0, 1); 
    if ($first_char != 'P' || $first_char != 'S') { 
     $this->form_validation->set_message('check_first_char', 'The %s field must begin with P or S!'); 
     return FALSE; 
    } else { 
     return TRUE; 
    } 
} 

その後、あなたはこのようなことの検証ルールを追加します。

+0

なぜ関数名の前にcallback_を使用していますか? –

+0

@ Alvi_1987:ドキュメントには次のように書かれています: 'コールバックを呼び出すには、関数の名前をルールプレフィックスとして" callback_ "を付けてルールに入れてください。'したがって、検証ルールはその前に 'callback_'という関数名です。あなたがもっと読むことを望むなら、私の答えの中のリンクを見てください。 –

関連する問題