如果选项等于“选择”,我将如何在CodeIgniter中编写?抛出一个错误,指出需要选择一个选项?
<option>Select</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
非常感谢提前。
答案 0 :(得分: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类,并且您的表单被定向到一个控制器,您可以在其中编写上面的代码行。那会这样做吗?
答案 1 :(得分: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:
}
此代码应该可以使用,但是没有经过测试。您可以随时发挥创意,添加更多代码并根据您的特定网络应用进行定制。有关更多信息,请查看CI有关form_validation库 here 的文档。