定义 Class 个对象验证
Define Class object validations
是否有一种本机方法来定义 Crystal 对象的验证?
让我们考虑这个 class:
class Person
def initialize(@age : Int32)
end
end
如何添加简单的验证 if age < 18
?
例如:
Person.new(10)
>> Error: attibute 'age' should be greater than 18
我看到第 3 方库在执行此操作,但我想避免添加依赖项。
没有实现运行时验证的自动化方法,但有一种惯用的方法:
def initialize(@age)
raise ArgumentError.new("age must be 18 or more") if @age < 18
end
是否有一种本机方法来定义 Crystal 对象的验证? 让我们考虑这个 class:
class Person
def initialize(@age : Int32)
end
end
如何添加简单的验证 if age < 18
?
例如:
Person.new(10)
>> Error: attibute 'age' should be greater than 18
我看到第 3 方库在执行此操作,但我想避免添加依赖项。
没有实现运行时验证的自动化方法,但有一种惯用的方法:
def initialize(@age)
raise ArgumentError.new("age must be 18 or more") if @age < 18
end