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_func返回 true 或 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:

    }

此代码应该可以工作,但未经测试。您始终可以发挥创意并添加更多代码并将其定制到您的特定网络应用程序。有关更多信息,请在此处查看有关 form_validation 库的 CI 文档。

于 2012-08-27T19:28:16.883 回答