CakePHP 仅在输入数据时进行表单验证

2024-03-10

我正在尝试上传其中一个模特的照片,并且当我进入编辑模式时。当用户只想编辑与该记录相关的文本时,它仍然要求我上传照片。以下是我的验证规则。

    'display_photo' => array(
        'uploadError' => array(
            'rule' => array('uploadError'),
            'message' => 'Please select a Photo.',
            'allowEmpty' => true,
        ),
        'mimeType' => array(
            'rule' => array('mimeType', array('image/gif', 'image/png', 'image/jpg', 'image/jpeg')),
            'message' => 'Please only upload images (gif, png, jpg).',
            'allowEmpty' => true,
        ),
        'fileSize' => array(
            'rule' => array('fileSize', '<=', '5MB'),
            'message' => 'Photo must be less than 5MB.',
            'allowEmpty' => true,
        ),
        'photoUpload' => array(
            'rule' => array('photoUpload'),
            'message' => 'Unable to process Photo upload.',
            'allowEmpty' => true,
        ),
    ),

上传功能

   public function photoUpload($check = array()) {
        if (!is_uploaded_file($check['display_photo']['tmp_name'])) {
            return false;
        }

        if (!move_uploaded_file($check['display_photo']['tmp_name'], WWW_ROOT . 'img' . DS .
            'portfolios' . DS . $this->data[$this->alias]['slug'].".".pathinfo($check['display_photo']['name'], PATHINFO_EXTENSION))) {
            return false;
        }
        $this->data[$this->alias]['display_photo'] = $this->data[$this->alias]['slug'].".".pathinfo($check['display_photo']['name'], PATHINFO_EXTENSION);
        return true;
    }

设置参数

'on' => 'create'

只是为了'uploadError' rule

'uploadError' => array(
    'rule' => array('uploadError'),
    'message' => 'Please select a Photo.',
    'on' => 'create',
),

这样,cake 将强制用户在创建记录时上传图像。

相反,其他验证规则将始终有效,但前提是文件实际上传。

see the manual http://book.cakephp.org/2.0/en/models/data-validation.html#on

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

CakePHP 仅在输入数据时进行表单验证 的相关文章

随机推荐

  • 关闭 vba 生成的 Excel 绘图上的标记阴影

    我正在将一些用于在 Excel 中生成散点图的代码从 Win 7 Excel 2010 移植到 OS X Excel 2011 在 Mac 上 数据点显示有阴影 我不想要阴影 也不知道如何摆脱它 Using 这个工作表 http dl dr
  • C++ 指针数组的内存分配

    我有一个关于内存分配的问题 假设我创建了一个像这样的指针数组 int numbers new int 1024 1024 我原以为这需要 8MB 内存 Mac 64 位上为 8 字节指针 但事实并非如此 仅当为每个指针赋值时才分配内存 因此
  • 注册一个全局钩子,检测鼠标是否拖动文件/文本

    我知道有可能为鼠标注册全局钩子 http www codeproject com KB cs globalhook aspx移动 按钮单击 滚动等 但我想知道是否有任何方法可以检测用户是否实际上使用全局挂钩拖动文件或文本 或其他内容 似乎找
  • 从三地址代码到 JVM 字节码的代码生成

    我正在研究 Renjin 的字节码编译器 R 代表 JVM 并尝试将中间三地址码 TAC 表示形式转换为字节码 我查阅过的所有有关编译器的教科书都讨论了代码生成期间的寄存器分配 但我还没有找到任何用于在基于堆栈的虚拟机 如 JVM 上生成代
  • 向 ggplot 添加图例

    这个问题是这篇文章的后续问题 上一篇文章 https stackoverflow com questions 21531230 using geom path from ggplot library 我有12个变量 M1 M2 M12 为此
  • 将位图转换为多边形 - (反向光栅化)[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 给定一个位图图像 上面有一些纯色斑点 您将使用什么算法来构造与斑点形状相同的多边形 这可以通过多个步骤完成 稍后可以通过最佳拟合算法来切割高分辨
  • 如何在 WPF 应用程序中构建动态数据输入表单?

    我正在计划一个 WPF 应用程序 它将 能够创造动态数据输入表格 这意味着表单从数据库中的数据而不是从 XAML 获取要显示的字段及其顺序等 如果可能的话使用 MVVM 模式 我计划这样做 在客户数据输入视图中 我将设置数据上下文
  • 离子应用程序 | Firebase Crashlytics 无法与崩溃报告配合使用?

    我在我们的 Ionic 应用程序中使用 ionic native firebase 插件 并且该插件中包含崩溃报告 由于 Firebase 崩溃报告在 9 月 9 日之后将不再可用 因此我们正在尝试切换到 Firebase Crashlyt
  • 无法使用 C# 将 [] 索引应用于“System.Array”类型的表达式

    我正在尝试使用包含字符串数组的列表 但是当我尝试使用方括号访问数组元素时 我收到错误 我的数组列表声明如下 public List
  • 在 Valgrind 下运行 Eclipse

    这里有人成功运行 Eclipse 吗Valgrind http valgrind org 我正在与涉及 JNI 代码的特别棘手的崩溃作斗争 并希望 Valgrind 或许可以 再次 证明其卓越性 但是当我在 Valgrind 下运行 Ecl
  • nltk 函数计算某些单词的出现次数

    nltk书中有一个问题 使用 state union 语料库阅读器阅读国情咨文演讲的文本 计算每个文档中男性 女性和人物的出现次数 随着时间的推移 这些词的使用发生了什么变化 我想我可以使用像 state union 1945 Truman
  • Selenium WebDriver 中的 DesiredCapability 有什么用?

    Selenium WebDriver 中的 DesiredCapability 有什么用 我们什么时候想使用它以及如何使用 举例回答将不胜感激 您应该阅读有关的文档所需能力 https github com SeleniumHQ selen
  • 终端进程命令无法启动退出代码:0 和退出代码:2

    Visual Studio 代码终端无法工作 捷径ctrl 因为终端不工作 Error The terminal process terminated with exit code 0 终端进程命令 C WINDOWS System32 W
  • t.Cleanup 有什么用?

    问题 我想知道的用例t CleanupGo1 14中引入 与使用 defer 相比 t Cleanup 有何便利 https golang org pkg testing T Cleanup https golang org pkg tes
  • 图像文件的加密与解密

    结合我的另一个question https stackoverflow com questions 12131627 image encryption decryption 并且在更改了这一小部分代码之后 FileOutputStream
  • 使用 Twilio 和 SIP 进行 SMS 消息传递

    我正在尝试使用 Twilio 在我的 iPhone 上发送和接收短信 我已设置呼入和呼出呼叫遵循这些说明 https stackoverflow com questions 48346740 how do i forward a twili
  • Azure Functions 错误 - 无法将参数绑定到字符串类型

    我正在尝试使用 Azure 函数将文件保存到 FTP json是这样的 type apiHubFile name outputFile path folder ps DateTime txt connection ftp FTP direc
  • 如何读入边列表以制作 scipy 稀疏矩阵

    我有一个大文件 其中每行都有一对 8 个字符串 就像是 ab1234gh iu9240gh 在每行上 这个文件实际上代表了一个图 每个字符串都是一个节点 ID 我想读入文件并直接制作一个 scipy 稀疏邻接矩阵 然后 我将使用 pytho
  • “没有这样的模块‘Alamofire’”Xcode 无法识别 Alamofire 框架

    我意识到在其他问题中也提出了同样的错误 例如here https stackoverflow com questions 25817479 cannot install alamofire in new xcode project no s
  • CakePHP 仅在输入数据时进行表单验证

    我正在尝试上传其中一个模特的照片 并且当我进入编辑模式时 当用户只想编辑与该记录相关的文本时 它仍然要求我上传照片 以下是我的验证规则 display photo gt array uploadError gt array rule gt