0

Codeigniter 2 では、 $this->form_validation->set_messageとしてではなく、以下の配列に検証メッセージをカスタムする方法があります

     $ValidationRules = array(
               array('field'   => 'address_line1', 
                     'label'   => 'Address Line1', 
                     'rules'   => 'trim|min_length[2]|max_length[40]|xss_clean'),
               array('field'   => 'address_line2', 
                     'label'   => 'Address Line2', 
                     'rules'   => 'trim|min_length[2]|max_length[40]|xss_clean'),
               array('field'   => 'address_line3', 
                     'label'   => 'City', 
                     'rules'   => 'trim|min_length[2]|max_length[40]|xss_clean')
                );

    $this->form_validation->set_rules($ValidationRules);
    if ($this->form_validation->run() == FALSE)
4

1 に答える 1

0

ルールごとにメッセージが必要な場合は、ルールをキーとして新しい配列を作成できます。

            $validationMessages = array('min_length' => 'String not long enough', 'max_length' => 'String too long');
            $this->addMessage($field, $validationMessages[$key]);

「フィールド」は検証エラーが発生したフィールドを表し、「キー」は問題が発生した特定のビジネスルールです。メッセージにカスタム変数を追加して拡張し、より正確なメッセージを表示できます。

            $validationMessages = array('min_length' => '{field} not long enough', 'max_length' => '{field} too long');
            $this->addMessage($field, str_replace('{field}', $field['label'], $validationMessages[$key]);
于 2012-06-08T06:29:01.433 に答える