1

オプションが「選択」と等しい場合、CodeIgniterでどのように記述しますか?オプションの選択が必要であるというエラーをスローしますか?

<option>Select</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>

よろしくお願いします。

4

2 に答える 2

3
<select id='my_options'>
<option value=0>Select</option>
<option value=1>Option 1</option>
<option value=2>Option 2</option>
<option value=3>Option 3</option>
<option value=4>Option 4</option>
</select>

コントローラで次のことができます。

$this->form_validation->set_rules('my_options','Select Options','required|greater_than[0]');

明らかに、これは、form_validationクラスを使用していて、フォームがコントローラーに送信され、そこで上記のコード行を記述していることを前提としています。

于 2012-08-28T05:18:34.817 に答える
1

私の知る限り、このような場合を処理する唯一の方法は、カスタム関数を作成することです。たとえば、次のように操作するのはそれほど難しくありません。

まず、form_validationライブラリのルールを作成します。

$this->form_validation->
set_rules('my_dropdown', 'Dropdown', 'callback_my_func');

my_functrueまたはfalse(およびエラーメッセージも)を返す検証関数は どこにありますか。

そしてここに例がありmy_funcます:

:オプションを操作できるように、各オプションの値を指定する必要があります。
私の例では、「選択」オプションを0に設定します。次のようにします。

<option value="0">Select</option>

...そしてここに関数があります:

 function my_func($dropdown_selection){
//If the selection equals "Select" that means it equals 0(which is the "hidden" value of it)
    if($dropdown_selection === 0) {
    //Set the message here.
    $this->form_validation->set_message('my_func', 'You must specifiy a value for your dropdown');
    //Return false, so the library knows that something  is wrong.
    return FALSE;
    }
    //If  everything is OK, return TRUE, to tell the library that we're good.
    return TRUE:

    }

このコードは機能するはずですが、テストされていません。いつでもクリエイティブになり、コードを追加して、特定のWebアプリに合わせて調整できます。詳細については、form_validationライブラリに関するCIのドキュメントをここで確認してください。

于 2012-08-27T19:28:16.883 に答える