如何将 CodeIgniter 的 set_value 用于数组字段?

2024-01-28

我有一个标记为“amenities[]”的下拉菜单,它是一个数组。当我使用 CodeIgniter 的 form_validation 时,我想使用 set_value 正确重新填充它,但我无法做到。有人对此有任何意见吗?


查看 Codeignitor 1.7.2 的源代码,set_value 实现是:

/**
 * Get the value from a form
 *
 * Permits you to repopulate a form field with the value it was submitted
 * with, or, if that value doesn't exist, with the default
 *
 * @access  public
 * @param   string  the field name
 * @param   string
 * @return  void
 */ 
function set_value($field = '', $default = '')
{
    if ( ! isset($this->_field_data[$field]))
    {
        return $default;
    }

    return $this->_field_data[$field]['postdata'];
}

请注意,它不支持数组。另一方面,Codeignitor 的 set_select 确实支持数组:

// --------------------------------------------------------------------

/**
 * Set Select
 *
 * Enables pull-down lists to be set to the value the user
 * selected in the event of an error
 *
 * @access  public
 * @param   string
 * @param   string
 * @return  string
 */ 
function set_select($field = '', $value = '', $default = FALSE)
{       
    if ( ! isset($this->_field_data[$field]) OR ! isset($this->_field_data[$field]['postdata']))
    {
        if ($default === TRUE AND count($this->_field_data) === 0)
        {
            return ' selected="selected"';
        }
        return '';
    }

    $field = $this->_field_data[$field]['postdata'];

    if (is_array($field))
    {
        if ( ! in_array($value, $field))
        {
            return '';
        }
    }
    else
    {
        if (($field == '' OR $value == '') OR ($field != $value))
        {
            return '';
        }
    }

    return ' selected="selected"';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 CodeIgniter 的 set_value 用于数组字段? 的相关文章

  • VueJS - 验证表单文件上传中的文件大小要求

    我正在使用 Bootstrap Vue 表单制作一个简单的表单 用户可以在其中上传文件 有没有办法验证使用 Vue 表单选择的文件的大小 我想阻止用户上传此类文件 我见过this https stackoverflow com questi
  • 以编程方式创建验证列表

    我有一组从外部源进入 VBA 代码的数据 我希望能够分配该数据以用作此工作簿中一张工作表的单元格下拉框中的验证 但是 我不想将该数据复制到工作表中 然后使用命名范围 可能有相当多的数据 而且这感觉不是很有效 我确信一定有办法 但我还没有找到
  • 如何检查 id 是否已存在 - codeigniter

    我正在尝试检查数据库中的 id 是否已存在 如果不存在则仅插入该 id 而不是其他存在的 id 我尝试执行一个 where 语句来检查数据库中是否存在它们的 id 但即使它们是新信息 它也不会将其插入数据库中 我在这里很迷路 任何指导将不胜
  • 为什么我们不应该将块元素放置在内联元素中[重复]

    这个问题在这里已经有答案了 如果我将 div 元素放置在锚元素内 它会使我的 HTML 无效 不将块级元素放置在内联元素内的原因是什么 如果我将 div 元素放置在锚元素内 它会使我的 HTML 无效 从 HTML5 开始 情况并非如此 h
  • 在 WPF 中的不同控件上显示验证错误模板

    我有一个UserControl包含其他控件和TextBox 它有一个Value绑定到的属性TextBox文本并有ValidatesOnDataErrors设置为 True 当验证错误发生时Value属性绑定 错误模板 标准红色边框 显示在整
  • 使用 Angular 2 Forms 根据需要动态标记字段的正确方法是什么?

    使用 Angular 2 2 0 0 推荐的方法是什么动态地根据需要标记字段 使用角形式 https angular io docs ts latest guide forms html 在他们的所有示例中 只需添加必需的属性 如下所示
  • Drupal URL 重写冲突

    我已将 Drupal 7 安装在站点的根目录中 htaccess 文件自安装以来未曾修改过 不过 我还在子目录中设置了 CodeIgniter 我在 CI 目录中创建了一个 htaccess 文件 其中包含从 url 中删除 index p
  • Javascript onchange 事件阻止 HTML 表单中的 onsubmit 事件?

    考虑一个 HTML 表单
  • JQuery 在提交之前需要复选框和单选按钮

    我很难弄清楚这一点 现在我们已经花了 3 个多小时来研究 JQuery 验证的示例和工具 我想做的只是要求选中一个复选框和一个单选按钮 但我不在乎需要哪一个
  • 我如何从mysql获取上周、本周和上个月的记录

    我在 Codeigniter 中以 strtotime 格式存储日期 一周从周日开始 this gt db gt where this gt weight create date lt curdate INTERVAL DAYOFWEEK
  • 需要正则表达式。仅匹配数字和空格的固定长度字段

    我正在尝试获得注册 表达式匹配正好 11 位数字或 0 到 10 位数字 并用空格填充到 11 个字符 x20 Match 12345678901 123 Don t Match 5678901 123 78901 123 789 表达方式
  • php按值复制数组元素,而不是按引用

    我有以下代码 data x this gt x gt getResults data y data x some code here to modify data y this causes undesirably data x to be
  • Groovy:验证 JSON 字符串

    我需要检查 Groovy 中的字符串是否为有效的 JSON 我的第一个想法就是把它发送出去new JsonSlurper parseText myString 并且 如果没有例外 就假设它是正确的 然而 我发现 Groovy 很乐意接受尾随
  • CodeIgniter:删除 WAMP 上 URL 中的“index.php”

    在 CodeIgniter 中 我想删除本地主机 WAMP 上 URL 中的 index php 例如 http localhost com ci index php controller function http localhost c
  • Rails 验证日期范围的唯一性

    我有一个涉及员工缺勤记录的应用程序 我需要确保每条记录的开始日期和结束日期不重叠 例如 如果我输入了从今天开始到明天结束的缺勤记录 则不可能以任何方式在该日期范围内输入另一个缺勤记录 所以我不能制作一个从前天开始 然后在后天或任何更晚的日期
  • 如何使用 SQL 查询在 Access 中的字段上设置验证规则?

    我正在使用 MS Access 2016 Office 365 目前遇到问题 下面是一个演示此问题的示例 这里我创建了一个表 名为节点家庭链接 由两个字段组成 NodeID 和 FamilyID 如下所示 现在 NodeID 是从另一个表
  • Codeigniter:重置表单值

    在我看来 我想要做的是在用户成功注册后清除表单字段 这里一切正常 即用户正在注册 成功消息正在向用户显示 除了我想要做的是清除表单字段的值 我正在使用这个 Clear the form validation field data so th
  • 如何验证magento中的单选按钮?

    在我的自定义模块中 我有一个带有单选按钮的表单 当我单击提交按钮时 它不会验证单选按钮 如何使用 Magento 默认验证类进行验证 Thanks 我得到了答案 use validate one required by name在单选按钮的
  • 多语言标记验证器

    是否有免费的在线多语言标记验证服务可以正确识别和验证多语言标记 我确实找到了totalvalidator和htmlvalidator 但这些是 付费 非基于网络的解决方案 Use http validator w3 org nu http
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru

随机推荐

  • JAX-WS 中的 HTTP 连接重用

    使用 JAX WS 时如何启用 HTTP 连接重用 当我们使用 AXIS2 时 我们设置org apache axis2 transport http HTTPConstants REUSE HTTP CLIENT客户端存根选项中的属性 J
  • XNA 鼠标移动

    我之前在 XNA 中制作过一些游戏 现在我即将开始一个新项目 我想做的一件事是让鼠标移动 只是为了澄清 因为我已经看到一些类似的问题导致混乱 我想获得鼠标的移动 不是光标的位置或从一帧到下一帧的位置变化 我只想要有关鼠标如何移动的数据 在我
  • onPageScrolled() 没有被调用

    我正在尝试熟悉 ViewPager 我的代码如下 问题是 onPageChangeListener 方法没有被调用 可能是什么问题 public class TabsViewPagerFragmentActivity extends She
  • Android Studio Gradle 构建失败。错误:原因:对等方未经过身份验证

    我已经创建了一个项目并且 gradle 同步工作成功 当我尝试创建另一个项目时 它失败并给出错误消息 Gradle
  • 使用元编程来包围类中的方法

    我有一些类 其中的方法会在进入和退出方法时进行记录 如下所示 def methodName1 args logger debug gt gt callee logger debug lt lt callee end def 方法名2 arg
  • 统计最近 7 天内创建的记录

    如何更改下面的查询以仅选择过去 7 天内创建的记录 self favorites count 这个函数位于我的User model def calculate user score unless self new record self s
  • 在ansible中使用连字符

    我正在学习 Ansible 但我很困惑何时在剧本中使用连字符 何时不使用连字符 据我所知 连字符用于 Ansible 中的列表 例如 my first playbook hosts webservers why did we use hyp
  • 如何使用 IntelliJ IDEA 正确配置 AdMob?

    我正在尝试将 AdMob 合并到我的 Android 应用程序中 我正在使用 IntelliJ IDEA 进行开发 但似乎无法正确设置我的项目 此时我已完成以下操作 已完成下载 AdMob SDK 所需的所有初步步骤 遵循指示here ht
  • Python:如何替换嵌套列表中的值?

    如何将詹姆斯的工资从1000替换为1500并打印詹姆斯的数据 data Ben Manager 3000 James Cleaner 1000 Ken Supervisor 2000 for name appt salary in data
  • @ConfigurationProperties:绑定类中的默认值

    我有一个配置类FooConfig 其中我有一个绑定类 Foo Configuration ConfigurationProperties foo public class FooConfig Value foo default iterat
  • 如何在 Flutter 应用程序上显示自定义字体的彩色表情符号?

    我想用Twemoji 字体 https github com eosrei twemoji color font在我的 Flutter 应用程序中 我安装了这个字体 但是当我尝试使用它时TextSpan 我看到的是单色表情符号而不是彩色表情
  • 如果“Assigned()”不能检测“悬空指针”,如何检测?

    在另一个question https stackoverflow com questions 8548843 why should i not use if assigned before using or freeing things 我
  • C# Web 服务中的加密

    我正在寻找一种简单的方法来加密我的 C Web 服务中的肥皂通信 我正在调查但微软似乎放弃了对它的支持 因此它的使用并不简单 看来 WCF 可能是一个选择 但我不想从 NET 2 0 升级 Any simple 简单的加密方法 我认为这会有
  • django欢迎页面的默认页面是谁生成的?

    我刚刚设置了 django 环境 正如教程所说 我输入了python manager py runserver它告诉我打开127 0 0 1 8000 当我打开它时 它使用了正确的欢迎页面 但我的问题是 谁生成这个默认的欢迎页面 既然没有v
  • 用于为 REST 服务创建客户端存根的 java 工具

    假设我获得了 REST Web 服务的 WADL 并且我已经能够在 SoapUI 中组合一堆请求 我对 REST 或 SOAP 并不陌生 而且我已经设法使用 wadl2java 工具来从我的 WADL 自动生成并编译类 有没有教程演示如何使
  • 如何更改 xamarin.ios 中 UITextView 中的链接颜色

    我们使用此代码在 UITextView 中创建了可点击的文本 var urlString a href a www google com gt Google var documentAttributes new NSAttributedSt
  • 使用解析的字符串值过滤 MS SQL 2008 服务器中的日期时间列

    我不确定如何使这个问题的标题更具体 我正在开发 ASP NET MVC3 应用程序 在那里 我使用 jQuery 网格来显示数据库中的数据 并且几乎没有过滤器 其中之一应该允许用户按日期搜索 在我的数据库中Date列看起来像这样 我将选定的
  • 在 PySpark 中获取序列文件格式的文件的 HDFS 文件路径

    我在 HDFS 上的数据是序列文件格式 我正在使用 PySpark Spark 1 6 并试图实现两件事 数据路径包含 yyyy mm dd hh 格式的时间戳 我想将其带入数据本身 我尝试了 SparkContext wholeTextF
  • 使用ggplot2绘制时间序列数据

    我正在做一个项目 需要使用 ggplot2 来绘制时间序列数据 这是我正在使用的数据集 这就是我现在所做的 library ggplot2 library lubridate eur Date lt as Date eur Date ggp
  • 如何将 CodeIgniter 的 set_value 用于数组字段?

    我有一个标记为 amenities 的下拉菜单 它是一个数组 当我使用 CodeIgniter 的 form validation 时 我想使用 set value 正确重新填充它 但我无法做到 有人对此有任何意见吗 查看 Codeigni