【问题标题】:HTML select Tag Title using Codeigniter 3HTML 使用 Codeigniter 3 选择标签标题
【发布时间】:2016-07-24 08:50:06
【问题描述】:

我正在使用 Codeigniter 3。
国家选择框是表单上的一个可选字段:

<select name="countries">
    <option>Choose a Country</option>
    <option value="en">England</option>
    <option value="fr">France</option>
    <option value="de">Germany</option>
</select>

我有以下行用于国家字段验证:

$this->form_validation->set_rules('year',  'Year',    'trim|integer');

当我使用第一个选项(选择国家)提交表单时,即使没有定义值,验证器也会看到如下内容:

echo '<pre>';
print_r($this->input->post('year'));
echo '</pre>';

>> Choose a Country

.. 当我期待类似 false 或 null 的内容时。
如果没有选择,如何让 CI 忽略该值?

提前致谢!

【问题讨论】:

  • 禁用第一个选项。 &lt;option value="" disabled&gt;Choose a Country&lt;/option&gt;
  • 您确定对国家/地区使用年份验证吗?
  • 这无关紧要。我已将其从代码中删除。

标签: php html codeigniter


【解决方案1】:

首先,你贴错了行,我觉得应该是countries而不是year

你可以通过以下方式实现:

  1. 给默认选择一个可以被捕获的值。并在值等于none时处理
<select name="countries">
    <option value="none">Choose a Country</option>
    <option value="en">England</option>
    <option value="fr">France</option>
    <option value="de">Germany</option>
</select>
  1. 更改仅允许列表中的选项的验证规则。如果返回的值不在列表中,则会出错。
$this->form_validation->set_rules('countries',  'Countries',    'required|trim|in_list[en|fr|de]');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    相关资源
    最近更新 更多