【问题标题】:DataMapper: Set default validations on custom typesDataMapper:对自定义类型设置默认验证
【发布时间】:2012-09-03 14:44:05
【问题描述】:

我刚刚编写了一个自定义 DM 类型来帮助我解决这个问题。继承自 String 和所有爵士乐。刚才我想要一个默认验证。所以,我作为用户不需要定义的东西,它只是隐含地存在。例如,对于 Boolean 类型的属性,如果您传递的不是 true 或 false,它会使其对象无效。我想要那样的东西。您知道这是否可行,以及在架构中最好的位置插入它吗?

【问题讨论】:

    标签: datamapper ruby-datamapper


    【解决方案1】:

    我想你可以在dump方法中添加,例如

    def dump(value)
      if valid_type?(value)
        value
      else
        raise "Invalid type specified"
      end
    end
    
    def valid_type?(value)
      #your validation code
    end
    

    其他方式是使用dm-validations 之一

    在你的情况下是

    #Skipping class Definition
    property :something, Your_dm_type
    validates_with_block :something do
      if condition
        true
      else
       [false, "Invalid property specified"]
    end
    

    或根据要求进行其他验证

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-15
      • 2017-08-17
      • 2021-08-22
      • 2022-10-06
      • 2021-02-02
      • 1970-01-01
      • 2015-11-18
      • 2014-04-05
      相关资源
      最近更新 更多