1、Ruby中的数据验证
(1)验证非空的文本字段
例如:
validates:title, :description, :image_url, :presence=>true
这个validates是个标准的Rails验证器。它会根据一个或多个条件来验证一个或多个模型字段。:presence:=>true让验证器核实每个已命名的字段都存在,并且其内容不为空。
上述代码中的title、description、image_url分别是要验证的数据字段名称(模型中的字段)。
(2)验证是否为正数
使用numericality这个选项,它可以判断输入的内容是否是一个有效的数字,此外,给greater_than_or_equal_to传递一个为0的数字,来判断输入的内容是否大于0
例如:
validates:prices, :numericality=>{:greater_than_or_equal_to=>0}
验证prices字段是否是正数
(3)验证数据的唯一性
例如:validates:title , :uniqueness=>true
验证title字段的数据的唯一性
(4)验证图片URL是否有效
为方便起见,这里只验证是否以gif、jpg、png结尾,可用format来实现这个要求,判断是否和正则表达式匹配。
validates:image_url, :format=>{
:with=> %r{ \.(gif|jpg|png)$}i,
:message=> "must be URL for GIF、JPG or PNGimage"
}