我刚刚编写了一个自定义 DM 类型来帮助我解决这个问题。继承自 String 和所有爵士乐。刚才我想要一个默认验证。所以,我作为用户不需要定义的东西,它只是隐含地存在。例如,对于布尔类型的属性,如果您传递的不是真假,它会使它的对象无效。我想要那样的东西。您知道这是否可行,以及在架构中最好的位置插入它吗?
问问题
81 次
1 回答
0
我认为您可以在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
或根据要求进行其他验证
于 2012-12-28T21:00:48.357 回答