validations, 针对 ruby 对象的验证 mixin

分享于 

4分钟阅读

GitHub

  繁體 雙語
Validation mixin for Ruby objects
  • 源代码名称:validations
  • 源代码网址:http://www.github.com/hanami/validations
  • validations源代码文档
  • validations源代码下载
  • Git URL:
    git://www.github.com/hanami/validations.git
    Git Clone代码到本地:
    git clone http://www.github.com/hanami/validations
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/hanami/validations
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Hanami::Validations

    验证 ruby 对象的mixin

    状态

    Gem VersionBuild StatusCoverageCode ClimateDependenciesInline Docs

    联系人

    红宝石

    Hanami::Validations 支持 ruby ( 核磁共振) 2.3 + 和 JRuby 9.1.5.0 +。

    安装

    将此行添加到你的应用程序的Gemfile中:

    gem 'hanami-validations'

    然后执行:

    $ bundle

    或者将它的自己安装为:

    $ gem install hanami-validations

    用法

    Hanami::Validations 是一个混合对象,一旦被对象所包含,它就会向它添加轻量级。

    它可以处理输入哈希,让我们为每个键/值对定义一组有效的规则。 这些规则由 ipqos ( 或者特殊 DSL ) 包装,检查特定密钥的输入是否有效,以确定它是否有效。 为此,我们将业务需求转换为与 ruby 逻辑逻辑( 例如faux布尔逻辑逻辑操作符) 关联的谓词( 例如。 & 或者 | )。

    考虑注册表单。 我们需要确保 name 字段的数据完整性,具有以下规则。 它是必需的,必须是: filled and string字符串,它的大小必须大于 3个字符,但小于 64. 下面是代码, read read,并注意它如何完美地表达我们对你的需求。

    classSignupincludeHanami::Validations validations do required(:name) { filled? & str? & size?(3..64) }
     endendresult =Signup.new(name:"Luca").validate
    result.success? # => true

    Hanami::Validations 可以做的更多: 安全类型安全,组成,复杂的数据结构,内置和自定义谓词。

    但是在深入讨论之前,我们需要了解逻辑逻辑的基本概念。

    逻辑逻辑

    当我们检查数据时,我们只期望两个结果: 输入可以是有效的,也可以不是。 没有灰色区域,也没有模糊结果。 它是白色或者黑色,1或者 0,true 或者 false 和布尔逻辑逻辑,是表示这两种状态的完美工具。 实际上,ruby 布尔表达式只能返回 true 或者 false

    为了更好地识别 Pattern,让我们回到上面的例子。 这一次我们将把自然语言规则映射到编程语言规则。

     
      
    名称必须填充,并且是字符串,它的大小必须包含在 3和 64之间。   
     

    对象  MIX  
    相关文章