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 仅在输入数据时进行表单验证 的相关文章

  • 如何在 nginx 反向代理后面安全地检测 CakePHP 中的 SSL?

    CakePHP 我见过的所有版本 检查 SERVER HTTPS 查看请求是否是通过 HTTPS 而不是普通 HTTP 发出的 我使用 nginx 作为负载均衡器 后面是 Apache 应用程序服务器 由于 SSL 连接在负载均衡器处终止
  • Mac App Store 应用内购买的在线收据验证

    对于 iOS 的应用内购买 我们可以使用在线 API 进行验证 http developer apple com library ios documentation NetworkingInternet Conceptual StoreKi
  • VueJS - 验证表单文件上传中的文件大小要求

    我正在使用 Bootstrap Vue 表单制作一个简单的表单 用户可以在其中上传文件 有没有办法验证使用 Vue 表单选择的文件的大小 我想阻止用户上传此类文件 我见过this https stackoverflow com questi
  • Django:显示管理员验证错误的自定义错误消息

    我正在使用 Django 1 2 4 我有一个模型 其中有一个需要验证的字段 当验证失败时 我想向用户显示自定义错误消息 模型编辑是在管理界面中完成的 这就是我目前正在做的事情 def clean fields self exclude N
  • 如何在 PHP 中验证电子邮件? [复制]

    这个问题在这里已经有答案了 如何使用 php5 验证输入值是有效的电子邮件地址 现在我正在使用这段代码 function isValidEmail email pattern a z0 9 a z0 9 a z0 9 a z0 9 a z
  • 如何禁用单个视图的客户端验证?

    我需要在单个视图上禁用表单的客户端验证 我该怎么做呢 我不想只禁用以下 JS 文件 Scripts jquery jquery validate min js type text javascript gt Scripts jquery j
  • 是否可以将外部数据拖放到 jstree 中?

    我正在开发一个需要构建分层导航菜单的项目 jstree https www jstree com看起来很适合这个 该树将被保存到数据库中 我计划使用 CakePHP树的行为 https book cakephp org 2 0 en cor
  • 需要正则表达式。仅匹配数字和空格的固定长度字段

    我正在尝试获得注册 表达式匹配正好 11 位数字或 0 到 10 位数字 并用空格填充到 11 个字符 x20 Match 12345678901 123 Don t Match 5678901 123 78901 123 789 表达方式
  • Fluent 验证和库

    前几天在寻找完全不同的东西时 我偶然发现了两个用于在 NET 中进行流畅验证的库 这个概念似乎很有趣 因为到目前为止我正在使用通常的条件和分支语句 if else case 等 进行验证 特别是 它使得链接某些条件相对容易 这些条件在某些情
  • Groovy:验证 JSON 字符串

    我需要检查 Groovy 中的字符串是否为有效的 JSON 我的第一个想法就是把它发送出去new JsonSlurper parseText myString 并且 如果没有例外 就假设它是正确的 然而 我发现 Groovy 很乐意接受尾随
  • Rails 验证日期范围的唯一性

    我有一个涉及员工缺勤记录的应用程序 我需要确保每条记录的开始日期和结束日期不重叠 例如 如果我输入了从今天开始到明天结束的缺勤记录 则不可能以任何方式在该日期范围内输入另一个缺勤记录 所以我不能制作一个从前天开始 然后在后天或任何更晚的日期
  • 如何删除 CakePHP 的尾随计时基准注释

    我已经解决这个可怕的问题几个小时了 尽我所能在谷歌上搜索 但仍然不幸找到解决方案 问题是 CakdPHP 渲染的每个页面都有一个默认的尾随计时基准注释 例如 如何删除最后一行 在此处输入代码 core php or anywhere els
  • 根据另一个输入的值更改输入值

    我想要一个包含几个输入的表单 例如 名称和网址 当用户输入他们的名字时 我希望 url 输入自动将他们的名字作为默认值 并在单词之间使用下划线 因此 如果他们输入自己的名字 pedro kinkybottom 则会自动将 url 输入中的默
  • 在 TinyMCE 中使用新的 iframe 嵌入代码嵌入 YouTube 视频

    我尝试使用旧的嵌入代码将 YouTube 视频添加到 TinyMCE 中 效果很好 一些用户可能没有意识到他们必须点击 YouTube 嵌入代码链接中的旧嵌入代码选项才能添加它 我想让用户变得更容易 并允许他们直接复制新的嵌入代码并将其粘贴
  • 域驱动设计中输入验证应该放在哪里?

    我想知道我们到底应该在哪里放置输入验证 想象一下 API 调用发送输入以应用用户的空闲时间 在服务层注入验证类并在服务内部调用验证方法是否正确 或者最好将其放在基础设施层甚至领域模型中 我只是想看看在域驱动设计方法中实现 API 输入验证的
  • 使用 Minitest 测试自定义验证器

    我有多个带有电子邮件验证的模型 因此 我将验证提取到自定义验证器中 我按照以下教程做到了这一点导轨指南 http guides rubyonrails org active record validations html custom va
  • 多语言标记验证器

    是否有免费的在线多语言标记验证服务可以正确识别和验证多语言标记 我确实找到了totalvalidator和htmlvalidator 但这些是 付费 非基于网络的解决方案 Use http validator w3 org nu http
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p

随机推荐

  • 关闭 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