1

たとえば、言語の form_validation ファイルに次の行があります。

$lang['min_length'] = "%s must be at least %s characters in length.";

そして、出力を次のようにしたい:

$lang['min_length'] = "This field must be at least %s characters in length.";

ただし、問題は、エコーすると次のようになることです。

このフィールドの長さは、少なくともあなたの名前の文字数でなければなりません。

2 番目の %s の代わりに最初の %s を取るため、これは間違っています。

CI に 2 番目の %s を取得させるにはどうすればよいですか? 出来ますか?

4

1 に答える 1

0

min_lengthフォーム検証ライブラリの標準関数であり、このライブラリを介して処理されるため、コアライブラリを変更することによってのみこれを行うことができます。

ただし、より簡単な方法があります。フォーム検証ライブラリでコールバック関数を使用します。

$this->form_validation->set_rules('your_field', 'The Field label', 'callback_my_min_length[10]');

次に、コントローラー内に次を追加します。

public function username_check($str, $min_length)
{
    if ( mb_strlen($str) >= $min_length)
    {
        return TRUE;
    }
    else
    {
        $this->form_validation->set_message('my_min_length', 'This field must be at least '.$min_length.' characters in length.');
        return FALSE;
    }
}

これが私がやる方法です。

于 2012-09-13T20:13:20.703 に答える