[英]Codeigniter - form validation and form dropdown issue
说我的编辑用户表单上有一个选择标签。 它包含可以分配用户的学校列表。
<select 'school'>
<option value='1'>School 1</option>
<option value='2'>School 2</option>
</school>
创建通过: echo form_dropdown('school', $school_list)
如果我正在编辑的用户已经分配了学校,我希望下拉菜单默认为该学校。
因此,我这样做:
$school = $this->db->get_where('schools', $filters) # result object from database
echo form_dropdown('school', $school_list, $school->id);
问题是,当用户尚未分配学校并且$school->id
为空时,这当然会引发错误。
所以我的问题是; 解决codeigniter中此类问题的最佳方法是什么?
我想解决的一种方法是在$school->id
上返回NULL。 所以,
empty($school->id) && ($school->id = NULL);
echo form_dropdown('school', $school_list, $school->id);
但是,它似乎不太优雅,尽管我还没有对其进行测试。 如果要以错误方式提交表单,我想重新填充表单时效果不佳。
echo form_dropdown('school', $school_list, set_value('school', $school->id));
有人有更好的解决方案吗?
编辑:请注意,这不是我使用的实际代码。 我现在只是在此输入,因此如果出现语法错误或其他错误,我深表歉意。
只需使用echo form_dropdown('school', $school_list, set_value('school', @$school->id));
然后,通过@
可以知道该值有时为空,并且如果缺少该值,它将阻止错误。
如果没有id,这样做将向第3个参数发送一个NULL
值,默认情况下它将选择第一个<option>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.