上传前对 Rails 中的文件大小进行自定义验证

2023-11-22

以我的形式我有

<%= label_tag("file", "Attachment:") %><%= file_field_tag "uploadfile" %>

在我的模型中我想写这个

validate :validates_uploadfile

def validates_uploadfile(file)
    max_size = 2048
    errors.add(:uploadfile, "File size exceeds limitation") if file.size > max_size
end

在我的控制器中我可以调用这样的东西吗

validates_upload_file(params[:uploadfile])

有没有办法在上传之前验证文件上传(不是通过使用 javascript 或查看文件扩展名)
谢谢您的帮助

UPD

validate :uploadfile_validation, :if => "uploadfile?"

def uploadfile_validation
    errors[:uploadfile] << "should be less than 1MB" if uploadfile.size > 1.megabytes
end

这是我的尺寸验证代码(我使用载波用于上传)。

  validate :picture_size_validation, :if => "picture?"  

  def picture_size_validation
    errors[:picture] << "should be less than 1MB" if picture.size > 1.megabytes
  end

Cheers.

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

上传前对 Rails 中的文件大小进行自定义验证 的相关文章

  • 将自定义参数传递给 Symfony2 中的自定义 ValidationConstraint

    我正在 Symfony2 中创建一个表单 表格只包含一个book字段允许用户在列表中进行选择Books实体 我需要检查是否选择了Book属于Author我的控制器里有 public class MyFormType extends Abst
  • 使用 VCR 过滤敏感数据

    我正在使用 VCR gem 记录 http 交互并在将来重播它们 我想过滤掉 uri 请求中的实际密码值 以下是 uri 的示例 http services somesite com Services asmx Cabins Usernam
  • 在 Heroku 上托管的 Rails3 中强制使用“www”,无需 .htaccess

    我想知道是否有 Rack 替代方案来强制 URL 中包含 www 因为 Heroku 不使用 htaccess 文件 也许甚至是在路线中做到这一点的好方法 Thanks 在您的 ApplicationController 中 您可以简单地创
  • 验证假名输入

    我正在开发一个允许用户输入日语字符的应用程序 我试图想出一种方法来确定用户的输入是否是日语假名 平假名 片假名或汉字 应用程序中的某些字段不适合输入拉丁文文本 我需要一种方法将某些字段限制为仅限汉字或仅限片假名等 该项目使用UTF 8编码
  • 在 Rails 3 中渲染 Markdown 文本

    我想将 markdown 转换为 html 在我看来我有markdown some text variable 但我得到了错误undefined method markdown I added require BlueCoth 到envir
  • 验证纬度和经度

    我想验证纬度和经度 现在 我只是检查该值是否不为空 但我想要进行验证以检查它是否是有效的纬度或经度 我怎么做 我的财产是这样的 public string Lat get return this lat set base Validatio
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外
  • 是 ValidationFailed 默认值

    会用什么方法facesContext isValidationFailed 当验证失败时 在渲染响应阶段后返回 它返回false对于我来说 它只会返回true when FacesContext validationFailed http
  • 如何将 'IN (1,2,3)' 与 findAll 一起使用?

    我需要从数据库中获取几个学生 并且我将他们的主键放在以逗号分隔的字符串中 通常使用 SQL 会是这样的 cleanedStudentIdStringList 1 2 3 4 SELECT FROM Student WHERE id IN c
  • 什么是适合 Rails 3 的测试框架?

    去年我一直在使用 Ruby On Rails 但是 无法进行单元测试 现在我必须编写单元测试代码 哪个测试框架好 为什么 有这方面的好的教程吗 我的系统配置 Ruby 1 9 2 Rails 3 Ubuntu 10 第一个技巧是 尝试升级到
  • Rails 4:将数据库导出到 YAML

    使用 Rails 2 3 可以使用几个插件之一将数据库轻松导出 转储 到 YAML 请参阅将数据库表导出到 YAML 文件的最佳方法 https stackoverflow com questions 490507 best way to
  • 在开发模式下,在每次请求时重新加载文件后,如何挂钩 Rails?

    我正在研究一个gem https github com bradrobertson apartment设置 ActiveRecord 模型的属性 例如table name 基于用户配置选项动态 我有一个初始化程序可以实现这一点 然而我的问题
  • 如何使用正则表达式在 Java 中检查确切的电话号码

    你好 我是正则表达式的新手 我不知道我在做什么 这就是我寻求帮助的原因 我有以下电话号码 359878123456 我需要检查该电话号码是否符合条件 359 是准确的扩展名 第二个 2 个数字是操作员号码和以下 3 个数字之一 87 88
  • 如何在实际作业中引用活动的delayed_job

    我正在研究一个解决方案来显示延迟作业的完成百分比 使用delayed job gem 目前 我的delayed jobs 表的数据库迁移如下所示 class CreateDelayedJobs lt ActiveRecord Migrati
  • Rails 中的 Google freebusy api 调用无法识别参数

    我试图从我的主日历中查找所有空闲 忙碌时间 但我无法让查询识别我的参数 在我的控制器中我有 freetimes client execute api method gt service freebusy query parameters g
  • has_many 关系中的 Active Record 对象何时保存?

    我正在使用 Rails 1 2 3 是的 我知道 并且对如何使用感到困惑has many适用于对象持久性 为了举例 我将使用它作为我的声明 class User lt ActiveRecord Base has many assignmen
  • AJAX:检查字符串是否为 JSON?

    我的 JavaScript 有时会在这一行崩溃 var json eval this responseText 当争论时会导致崩溃eval 不是 JSON 在进行此调用之前有什么方法可以检查字符串是否为 JSON 我不想使用框架 有什么方法
  • 将实例变量传递到表单中 - Rails

    由于我对 Rails 以及如何跨模型使用变量的了解很少 这可能是一个错误 因此如果需要更多代码来回答它或者我的术语不正确 请告诉我 我很乐意更新问题 我有一个帖子供稿 我希望用户能够 喜欢 这些帖子 虽然以下代码允许 Likes 在单个帖子
  • 如果你使用belongs_to而没有相应的has_one,会发生什么?

    我有一个核心模型Item 以及一个从自定义源 例如 RSS feed 填充它的脚本 在 feed 中 每个项目都用一个标识guid 在我的系统中 项目只有一个自动生成的id首要的关键 我想要 比方说 ItemFeedInfo那个地图guid
  • Rails“where”方法通过子属性查找父级

    我有一个 Rails 应用程序 我试图根据子类的日期创建父类的列表 现在我有 orders Order where order reminders date lt 1 month from now 但我收到一个错误 没有这样的列 order

随机推荐

  • 防止保存时删除主体为空的方法

    一直按 Ctrl S 是我的一个很矛盾的习惯 不利的一面是delphi在保存时删除空函数 过程 有没有办法防止 IDE 删除保存时主体为空的函数 过程 根据 OP 请求从评论转换而来 我的评论太小 无法回答 所以我将添加一些可能对OP来说已
  • DMARC -spf 和 DKIM 记录查询

    我有一个与第三方供应商的场景 我们公司有很多第三方邮件服务 我已经使用 p none 设置了 dmarc 并且使用已知的发送服务器更新了 SPF 记录 您能否澄清我在 Dmarc org 网站上读到的有关使第 3 方供应商符合 Dmarc
  • JQuery - 实时复制字段输入文本

    我试图弄清楚如何将一个表单字段中的用户文本输入复制到另一个表单字段中 具体来说 当有人在联系表单中填写其电子邮件地址时 该地址将在邮件列表表单中重复 这两种表单都使用 ajax 因此不必担心输入文本在提交时丢失 这是我的代码 div div
  • 如何在 Node.js 中监听剪贴板事件?

    我希望能够侦听 Node js 中的剪贴板事件 更准确地说是复制事件 我已经在java中使用过windows键盘钩子 所以我已经对这个主题有点熟悉了 由于我使用 Ubuntu 10 10 作为我的主要操作系统 因此我对 Ubuntu 桌面解
  • angularjs $httpProvider 拦截器文档

    我是角度 和编程 的新手 这是一个看似简单的问题 但我无法弄清楚 一些教程建议使用 httpProvider interceptors push interceptorName 操纵http请求和响应 我想了解更多关于拦截器的事情 所以我查
  • jQuery 在悬停时打开 div;自动滚动浏览

    我有一个UL列表中包含多个链接 每个项目都链接到自己的项目DIV 当用户将鼠标悬停在 UL 链接上时 正确DIV显示框 这是我的 HTML 代码 ul class productlist li a href class product li
  • 使用 python pandas 将新数据框附加到现有 Excel 工作表

    我目前有这段代码 它工作完美 它循环遍历文件夹中的 Excel 文件 删除前 2 行 然后将它们另存为单独的 Excel 文件 它还将循环中的文件保存为附加文件 当前附加文件覆盖每次运行代码时都会使用现有文件 我需要将新数据附加到底部已有的
  • 批量删除(截断与删除)

    我们有一个包含 150 多万条记录的表 我们需要清除 删除所有行 由于删除操作会写入 t log 因此删除操作将永远持续下去 并且我们无法更改整个数据库的恢复模型 我们已经测试了截断表选项 我们意识到 截断会从表中释放页面 如果我没记错的话
  • 如何将 EFS 共享挂载到 AWS Fargate?

    我有一个存储容器日志的 AWS EFS 共享 我想将此 nfs 共享 aws efs 挂载到 AWS Fargate 是否可以 任何支持文档链接将不胜感激 你可以这样做自2020年4月起 这有点棘手但有效 我遇到的最大问题是您需要将 平台版
  • 使用 java.io 寻找 ByteArrayInputStream

    我怎样才能寻找 改变立场 ByteArrayInputStream java io 这是显而易见的事情 但我似乎无法在任何地方找到这种方法 mark reset还不够 我需要将位置设置到InputStream 如果不能使用java io我必
  • 在Java中裁剪图像[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试用 Java 剪切图像的某个部分并将其保存回磁盘 有没有一个函数可以从X Y上剪切指定宽度和高度的图像 你通常会 创建一个新的BufferedImage dst如下 具
  • 如何在PHP中对日期数组进行排序?

    我是 php 新手 我有 php 日期数组 0 gt 11 01 2012 1 gt 01 01 2014 2 gt 01 01 2015 3 gt 09 02 2013 4 gt 01 01 2013 我想将其排序为 0 gt 11 01
  • Windows 命令提示符中的 EOF 不会终止输入流

    Code include
  • ATL 简单对象向导 - “对象 Xxx 已存在”错误

    我正在尝试使用以下命令在我的 DLL 中创建一个新的 COM 对象ATL 简单对象向导在 Visual Studio 2005 中 我输入对象的短名称 然后派生出所有其他字段 但是 当我点击Next在向导中 出现以下错误消息 Object
  • 对 boost::timer::auto_cpu_timer 的未定义引用

    我尝试使用 g 4 4 在 Debian 上的远程服务器上编译带有 boost 库的小 cpp 文件 我为此目的使用 Netbeans 我的家用机器运行的是 Windows 7 解决了链接下一个代码的一些问题后 include
  • $_SERVER['HTTP_ORIGIN'] 不起作用

    当我使用 SERVER HTTP ORIGIN echo SERVER HTTP ORIGIN 返回 注意 未定义索引 第 12 行 D xampp htdocs safe test php 中的 HTTP ORIGIN 怎么了 The O
  • 如何知道 Mac 中当前架构是 i386 还是 x86_64? (Xcode)

    我正在处理在不同架构中需要不同参数的相机 是否有一个标志可以检查我的 Mac 中是 32 位还是 64 位 我正在尝试这个 但似乎不起作用 我总是得到 32 位 if defined PER ARCH CFLAGS x86 64 NSLog
  • 如何向 MVC3 中同一对象的实例显示不同的必需消息?

    我有一个 Razor MVC3 项目 其中表单中有两条用户记录 一条用于关键联系人 一条用于备份联系人 例如 public class User Required ErrorMessage First name is required pu
  • 为 getopt 覆盖 $argv

    示例 php args FILE vvv argv explode args argc count argv GLOBALS argv SERVER argv argv GLOBALS argc SERVER argc argc var e
  • 上传前对 Rails 中的文件大小进行自定义验证

    以我的形式我有 在我的模型中我想写这个 validate validates uploadfile def validates uploadfile file max size 2048 errors add uploadfile File