dry-validation

dry-rbMIT活跃维护

Ruby 的类型安全数据校验库,用声明式 schema 和规则定义校验逻辑,支持类型强制转换,适合在数据入库前做结构化校验。

Validation library with type-safe schemas and rules

v1.11.1发布于 2025-01-21 11:43 UTC1,422star +2 / 7 天196fork同步于 2026-11-10 11:48 UTC

怎么上手

由 README 提炼,执行前请确认
gem install dry-validation
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Ruby 的类型安全 schema 与规则校验库,用来把输入数据的校验逻辑写得清晰可组合

Ruby 的类型安全数据校验库,用声明式 schema 和规则定义校验逻辑,支持类型强制转换,适合在数据入库前做结构化校验。

核心能力

  • 用 schema 定义数据结构并做类型校验
  • 用规则(rules)表达跨字段业务校验
  • 校验逻辑可组合复用,便于拆分维护
  • 属于 dry-rb 生态,与 dry-types 等配套使用

容易踩的坑

README 未给出用法示例,具体 API 需查阅官方用户文档 dry-rb.org/gems/dry-validation;README 未说明 Ruby 版本要求,安装前需自行确认兼容性

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.11.1
  1. v1.11.1最新正式版2025-01-21 · 2025-01-21 11:43 UTC

    Fixed

    • Fixed warning about unused block in macros (@flash-gordon)

    Compare v1.11.0...v1.11.1

  2. v1.11.02025-01-06 · 2025-01-06 21:03 UTC
    查看更新说明

    Changed

    • Passing non-hash values to Contract#call now raises a meaningful error (issue #716 via #723) (@flash-gordon)
    • Set minimum Ruby version to 3.1 (@flash-gordon)

    Compare v1.10.0...v1.11.0

  3. v1.10.02022-11-04 · 2022-11-04 17:20 UTC
    查看更新说明

    This release is mostly about upgrading to dry-core 1.0 and dry-configurable 1.0. One of the outcomes is dropping dependency on dry-container (because it was moved to dry-core). If you happen to use dry-container, please switch to Dry::Core::Container.

    Changed

    • Upgraded to the latest versions of dry-{core,configurable,logic,types} (@flash-gordon + @solnic)

    Compare v1.9.0...v1.10.0

  4. v1.9.02022-10-15 · 2022-10-15 05:51 UTC
    查看更新说明

    Fixed

    • Duplicated keys mishandling in rule evaluation (issue #676 fixed via #711) (@mereghost)

    Changed

    • Use Zeitwerk for auto-loading (via #715) (@solnic)

    Compare v1.8.1...v1.9.0

  5. v1.8.12022-05-28 · 2022-05-28 08:40 UTC
    查看更新说明

    Fixed

    • Raise an InvalidKeyErrors on substring of valid keys (issue #705 fixed via #706) (@MatElGran)
    • Using rule(:arr).each { .. } doesn't crash when :arr turns out to be nil (issue #708 fixed via #709) (@bautrey37)

    Compare v1.8.0...v1.8.1

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    dry-validation Gem Version CI Status

    Forum Chat

    Links

    License

    See LICENSE file.