1

フィールドが文字 'P' または 'S' で始まるなど、codeigniter で検証ルールを設定したいのですが、それ以外の場合は無効です。Codigniter 検証ライブラリを使用してそれを行うにはどうすればよいですか?

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
4

1 に答える 1

2

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

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;
    }
}

次に、その検証ルールを次のように追加します。

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

ドキュメンテーションはそれをすべて非常に明確に説明しています

于 2012-04-18T21:15:11.753 に答える