Active Storage Validations:为ActiveStorage提供简单验证
Active Storage Validations 是一个开源项目,旨在为 Rails 的 ActiveStorage 功能提供简单而强大的文件验证功能。该项目主要使用 Ruby 编程语言编写。
项目基础介绍
Active Storage Validations 项目是一个 Ruby Gem,它允许开发者在 Rails 应用程序中对 ActiveStorage 附件进行验证。这些验证包括文件的存在性、内容类型、大小、总大小、图像尺寸、文件数量以及宽高比等。通过使用这个 Gem,开发者可以轻松地添加文件验证,而不需要编写自定义的验证方法。
核心功能
- 验证文件的存在性:确保文件已被上传。
- 验证内容类型:支持多种内容类型的验证,包括符号和正则表达式。
- 验证文件大小:可以设置文件大小的最小值和最大值。
- 验证总大小:针对多文件上传,可以验证所有文件的总大小。
- 验证图像尺寸:支持图像的宽度和高度验证。
- 验证文件数量:设置允许上传的最少和最多文件数量。
- 验证宽高比:确保图像的宽高比为特定的比例。
- 自定义错误消息:允许为验证失败设置自定义的错误消息。
- 动态值:支持使用 Proc 动态确定验证值。
最近更新的功能
Active Storage Validations 项目最近更新的功能主要包括:
- 内容类型欺骗保护:增加了防止文件内容类型欺骗的功能。通过使用 Linux 的 file 命令和 Marcel gem 来检测文件的实际内容类型,从而防止恶意用户通过伪造文件扩展名和声明的内容类型上传不安全的文件。
- 尺寸验证增强:增加了对图像尺寸的更细致的验证,包括宽度和高度的区间验证。
- 宽高比验证:支持动态宽高比的验证,如 4:3、16:9 等。
- 国际化和本地化(I18n):支持错误消息的国际化,使得错误消息可以根据用户的语言环境显示。
通过这些更新,Active Storage Validations 进一步提高了文件验证的灵活性和安全性,为 Rails 开发者提供了更强大的工具来确保文件上传的质量和安全性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考