cakePHP 可选的文件上传验证

2023-12-02

如何使文件上传成为可选的验证? 即使我没有选择任何文件,下面的代码也会验证。 我只想在选择文件时检查扩展名。 如果我没有选择任何文件,它不应该返回任何验证错误。

class Catalog extends AppModel{
    var $name = 'Catalog';
    var $validate = array(
        'name' => array(
            'rule' => '/^[a-z0-9 ]{0,}$/i',
            'allowEmpty' => false,
            'message' => 'Invalid Catalog name'
        ),
        'imageupload' => array(
            'rule' => array('extension',array('jpeg','jpg','png','gif')),
            'required' => false,
            'allowEmpty' => true,
            'message' => 'Invalid file'
        ),
       );
}

提前致谢


“我分配 $this->data['Catalog']['image'] = $this->data['Catalog']['imageupload']['name'];”

因此,当您保存数据数组时,我认为它看起来像这样:

array(
    'image' => 'foobar',
    'imageupload' => array(
        'name' => 'foobar',
        'size' => 1234567,
        'error' => 0,
        ...
     )
)

这意味着,imageupload验证规则正在尝试处理此数据:

array(
    'name' => 'foobar',
    'size' => 1234567,
    'error' => 0,
    ...
 )

IE。它试图验证的值是一个数组,而不仅仅是一个字符串。这不太可能通过指定的验证规则。它也可能永远不会“空”。

您可以创建一个可以处理该数组的自定义验证规则,或者您需要在尝试验证它之前在控制器中进行更多处理。

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

cakePHP 可选的文件上传验证 的相关文章

  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 具有“日期之间”的 CakePHP 模型

    我有一个很大的数据集 超过十亿行 数据在数据库中按日期分区 因此 我的查询工具必须在每个查询上指定一个 SQL Between 子句 否则它将必须扫描每个分区 而且 它会在返回之前超时 所以 我的问题是 分区的数据库中的字段是日期 使用 C
  • 避免刷新时上传图片

    我正在使用最简单的图像上传形式 我非常希望保持这种方式 只需要一些 php 代码看起来像这样
  • Drupal:需要上传文件吗?

    由于某种原因 当我尝试要求上传文件时 我的表单中断了 这是它的代码 form id upload form form form id array type gt fieldset description gt t This is a uti
  • 将属性值指定为 CDATA

    可以将 XML 属性值指定为 CDATA 吗 如果是的话 相同的模式是什么 如果不是 为什么 XML 中没有解决这个限制 不 你不能这样做 在什么构成属性和什么构成子元素之间存在非常细的界限 并且存在很大的争论 看here https st
  • 验证总结问题

    我有一个页面 我正在使用验证摘要和必需的字段验证器 当我单击验证按钮时 两个验证摘要中都会显示错误消息 并显示在必填字段验证器中写入的消息 我想在验证摘要和必填字段验证器中显示不同的消息 例如 验证摘要应显示 标有 的字段为必填字段 并且必
  • 在 Struts 2 中使用单个文件标签上传多个文件

    我想使用单个 Struts 2 文件标签上传多个文件 就像在 Gmail 中一样 我们使用 CTRL 键来选择多个文件来附加多个文件 我知道如何上传多个文件 但我想使用单个文件标签 我在一个小画廊应用程序中上传多个文件 如果您的操作已设置为
  • 如何使用 Twitter Bootstrap 弹出窗口进行 jQuery 验证通知?

    我可以使用弹出窗口出现引导程序 http twitter github com bootstrap很容易 我还可以使用标准进行验证jQuery 验证插件 http docs jquery com Plugins Validation or
  • JavaScript 正则表达式否定精确的字符串匹配

    HTML JavaScript 中有没有办法编写正则表达式来否定精确的字符串匹配 我想确保输入不等于 foo 仅有的 foo 验证必须失败 但是 fooo 必须被允许 换句话说 我正在寻找这个正则表达式的否定
  • ckeditor 数据未通过 jQuery 验证进行验证

    我知道有很多关于此的问题 但我无法让它在我的一生中发挥作用 我尝试了几种解决方案 包括this http devlog waltercruz com usando ckeditor e jquery validate juntos 第二个答
  • 添加验证码到 Symfony2 登录

    我需要将验证码添加到我的登录页面 我正在使用 GregwarCaptchaBundle 和 FosUserBundle 目前我已经使用以下代码在登录时显示验证码
  • 如何简单地检查服务器PHP版本是否为5或以上?

    我正在为程序创建预安装清单 该程序需要 PHP5 因此我需要检查列表脚本来检查 PHP5 的可用性 有一个函数为phpversion 将以以下格式返回5 3 6或类似的 然而 我希望清单非常简单 只是告诉你是或否 所以显示当前版本对我没有多
  • 使用 PHP 将文件上传到 MySql DB

    我希望用户通过我在后端使用 MySql 用 PHP 开发的 web 应用程序上传文件 我想将文件存储在数据库中 我在这样做时遇到了问题 此外 一旦文件存储在数据库中 我们如何下载它 并在 web 应用程序中正确显示它 文件类型和文件的其他属
  • 最小有效 JSON 是多少?

    我仔细阅读了 JSON 描述http json org http json org 但我不确定我是否知道这个简单问题的答案 最小可能的有效 JSON 字符串是什么 string 该字符串是有效的 JSON 吗 42简单的数字是有效的 JSO
  • 如何在索引视图中打印关联数据

    subjects this gt Subjects gt find all contain gt Users fields gt Users username Users email gt hydrate false gt toArray
  • Jquery 文件上传 - 如何限制上传的文件数量

    我正在尝试从 blueimp 进行 Jquery 文件上传 该文档说我应该能够使用 maxNumberOfFiles 设置限制要上传的文件数量 然而 这似乎不适用于我的情况 其他诸如acceptFileTypes loadImageMaxF
  • 如何使用 C# 在 MS Excel 单元格中添加数字验证

    我的目标是限制用户在 MS Excel 单元格中仅输入 1 到 100 范围内的值 我正在以编程方式生成 Excel 文件 但是当我添加上述验证时 抛出异常Exception from HRESULT 0x800A03EC 我写的代码如下
  • Scala:将整个列表的 Either 与每个元素的 Either 组合

    我有一个 Either 列表 它代表错误 type ErrorType List String type FailFast A Either ErrorType A import cats syntax either val l List
  • 作出选择之后、提交上传之前的 asp.net FileUpload 事件

    我想显示通过 FileUpload 控件的浏览按钮选择的文件的大小 理想情况下 该值在用户选择文件后但在单击 上传文件 按钮之前立即显示 我有一个网络表格 按钮看起来像这样
  • ASP.NET - 在表示层中显示业务层错误

    目前 在我正在开发的 ASP NET 应用程序中 基本验证 即必填字段 是在表示层中使用验证器和 ValidationSummary 完成的 这对我来说非常有用 因为 ValidationSummary 将显示多个错误消息 假设多个验证器设

随机推荐

  • 如何避免旋转时重新创建 Activity,同时尊重方向锁定?

    背景 每次旋转设备时 Android 都会销毁当前 Activity 并使用新配置重新创建它 避免重新创建活动的一个简单方法是添加 配置更改 清单中的值 我记得是 屏幕大小 和 方向 问题 如果您使用 configChanges 属性 应用
  • 如何将网页下载到 .NET 中的流中

    我知道这应该是一个基本问题 但我遇到了困难 我希望转到 URL URI 下载结果字符串 就好像我打开了一个文件一样 然后将其取出到 String 变量中 我一直在使用 IO Stream 和 Net httpxxx 但还没有设法让元素以正确
  • Matlab 绘图 - 字体 Zapf Dingbats 将不会渲染

    我有一个 Matlab 程序 需要在图中包含一个平面图标 Zapf Dingbats 40 每次我运行它时 它都会回退到系统字体 我做错了什么吗 这不是确切的代码 但说明了问题 title char 40 fontname ZapfDing
  • UIView animateWithDuration 立即返回

    我正在尝试为嵌入 UIView 中的标签设置动画 这是代码 void displayText NSString text label setText text UIView animateWithDuration 5 0 delay 0 0
  • 带有通配符参数的存储过程

    我有一张桌子 create table user userId varchar 8 not null userName varchar 8 not null insert into user select NAME1 name1 union
  • Highcharts 3.08 具有多个父系列的深入分析

    我正在使用 Highcharts 制作第一个向下钻取图表 我刚刚安装了 3 09 版本 其中内置了向下钻取支持 钻取图表将成为已包含多个图表的页面的一部分 所有图表都有 3 个系列 州 地区 子地区 数据动态填充 问题是钻取模块似乎不支持多
  • 通过代码将stdout重定向到C中的文件

    我正在输出到标准输出 如何通过代码将其重定向到新文件 当我们运行程序时 我们可以像这样重定向 sample gt test txt 在执行示例程序本身时如何做到这一点 C语言编程 您可能想使用freopen 参考示例 include
  • 如何在 LINQ to SQL 中使用WITH(NOLOCK)?

    我们可以像这样使用 SQL SELECT FROM student WITH NOLOCK 如何在不使用 LINQ to SQL 的情况下实现此目的TransactionScope LINQ to SQL 没有任何执行此操作的机制 但您可以
  • 获得焦点和失去焦点事件

    我的 java swing 表单中有 4 个 JTextfield 问题是我需要通过 java 代码而不是使用 Tab 键将焦点从一个 JTextField 移动到另一个 JTextField 如果JTextField2获得了Focus 则
  • 为什么 libmp3lame 在 MP3 的开头添加零?

    我有一个未压缩的 wav 文件 我将其转换为 96k MP3 文件 ffmpeg exe i song wav vn b a 96000 ac 2 ar 48000 acodec libmp3lame y song mp3 输入文件有 63
  • HTML 5 Canvas 似乎重绘了删除的部分

    我创建了以下代码jsfiddle 目标是在单击后从画布上删除一个框 实际发生的情况是 网格被清除并完全重新绘制 删除的框位于原来的位置 只有当所有给定的对象都被删除时 网格才会显示为空 我很困惑 我究竟做错了什么 jQuery functi
  • 测试NG。需要在所有测试之前运行特定方法并在所有测试之后运行特定测试

    使用Selenium TestNG Maven 我想使用 OWASP ZAP 自动测试漏洞 为此 我需要在所有测试之前启动 ZAProxyScanner 在所有测试之前执行方法 public void initZap zapScanner
  • GridView排序和分页

    我想在我的页面上显示简单的 gridview 并为其提供排序和分页功能 单独排序和分页可以正常工作 但两者结合起来就不行了 例如 如果我对第一列进行降序排序 然后转到第二页 那么我会看到第二页数据采用默认排序 升序 我严重依赖这个问题的代码
  • 传递给 onCreate() 方法的 SQLiteDatabase 对象会发生什么?

    几天前 我遇到了一个错误 该错误是由于调用db close 在 的里面onCreate method 还有一些人遇到了类似的问题 这里解决了 无法创建 Android SQLite 数据库 PRAGMA 错误 我现在真的很感兴趣为什么会发生
  • 如何使用 Storyboard ID 显示各种视图控制器(每个视图控制器都有其各自的导航控制器)

    我正在开发我的第一个应用程序 这就是我想要实现的目标 将会有一个包含几个不同选项的菜单 为简单起见 假设它由带有 IBAction 出口的 UIButtons 组成 并且具有随时拉出菜单的功能 每个菜单按钮在按下时应显示不同的导航控制器的内
  • 什么是数据传输对象 (DTO)?

    在MVC中模型类是DTO吗 如果不是 有什么区别 我们都需要吗 数据传输对象是一种用于封装数据并将其从应用程序的一个子系统发送到另一个子系统的对象 N 层应用程序中的服务层最常使用 DTO 在其自身和 UI 层之间传输数据 这里的主要好处是
  • 向量作为矩阵中的列索引

    给定一个矩阵A mxn 和一个向量B mx1 我想创建一个向量C mx1 其中每个行元素是A来自索引为的列B 是否可以在不使用循环的情况下做到这一点 A 1 2 3 4 5 6 B 2 1 1 然后我想要 C 2 3 5 转换列下标B线性索
  • MySQL日期比较问题

    我在 mySQL 数据库中有以下格式的日期 2011 02 21 14 40 03 但我必须仅比较此日期和时间的日期部分 即 2011 02 21 How 更好的解决方案是使用WHERE col gt 2011 02 21 AND col
  • 将输出打印到文件中还是不打印输出?

    当我在 Lisp 中执行特定函数时 我想保存或忽略输出 我使用 Emacs 和 CCL 例如 defun foo x format t x s x 如果我执行该函数 它会打印出 x 5 但我不想在缓冲区中打印输出 因为如果我有大量迭代 模拟
  • cakePHP 可选的文件上传验证

    如何使文件上传成为可选的验证 即使我没有选择任何文件 下面的代码也会验证 我只想在选择文件时检查扩展名 如果我没有选择任何文件 它不应该返回任何验证错误 class Catalog extends AppModel var name Cat