【发布时间】:2012-09-03 14:44:05
【问题描述】:
我刚刚编写了一个自定义 DM 类型来帮助我解决这个问题。继承自 String 和所有爵士乐。刚才我想要一个默认验证。所以,我作为用户不需要定义的东西,它只是隐含地存在。例如,对于 Boolean 类型的属性,如果您传递的不是 true 或 false,它会使其对象无效。我想要那样的东西。您知道这是否可行,以及在架构中最好的位置插入它吗?
【问题讨论】:
标签: datamapper ruby-datamapper
我刚刚编写了一个自定义 DM 类型来帮助我解决这个问题。继承自 String 和所有爵士乐。刚才我想要一个默认验证。所以,我作为用户不需要定义的东西,它只是隐含地存在。例如,对于 Boolean 类型的属性,如果您传递的不是 true 或 false,它会使其对象无效。我想要那样的东西。您知道这是否可行,以及在架构中最好的位置插入它吗?
【问题讨论】:
标签: datamapper ruby-datamapper
我想你可以在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
或根据要求进行其他验证
【讨论】: