rails validates后台验证

rails内置了很多验证,在提交表单时,可以直接使用rails提供的验证。rails中关于程度和数据库的连接环节是在model里的,在model里使用validates_xxxx_of可以完成常用的验证。常用的有:

<1> validates_presence_of 用于验证非空(输入空格也算空);

<2> validates_numericality_of 用于验证数字

<3> validates_uniqueness_of 用于验证唯一

<4> validates_length_of 用于验证字节长度

<5> validates_format_of 用于验证指定格式

另外还可以定义 validate方法,它会在模型类在保存实例之前会自动调用这个方法。

需要说明的是,这些验证都是服务器端验证,不是前端通过js的验证。如果验证不通过,会自动生成一串错误提示信息,包含在form最前端。

如:

=============================================

class Product < ActiveRecord::Base

   validates_presence_of :title, :description, :image_url

   validates_numericality_of :price

   validates_uniqueness_of :title

   validates_format_of :image_url,

                                    :with => %r{^http:.+\.(gif|jpg|png)$}i,

                                    :message => "must be a URL for a GIF,JPG, or PNG image"

   protected

   def validate

      errors.add(:price, "should be positive") unless price.nil? || price >= 0.01

   end

end

转载于:https://www.cnblogs.com/yuzhengdong/p/3813588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值