zoukankan      html  css  js  c++  java
  • Ruby on rails开发从头来(windows)(五)对输入进行验证

    在上一篇随笔中,我们完成了对一个表Product的添删查改的操作,你一定注意到了,我们还没有添加任何验证,例如Price,我们可以随意输入任何字符,而不会有错误提示。这次,我们就来看看怎样添加验证输入功能。

     

    1.        打开depot\app\models目录下的product.rb文件,向其中添加代码,如下:

    class Product < ActiveRecord::Base

          validates_presence_of :title, :description, :image_url

    end

    2.        再次打开http://127.0.0.1:3000/Admin/New,留下titledescriptionimage_url不输入,直接点击Create按钮,会显示错误页面,如下:

     

    3.        上面添加的是必须录入项的验证,下面添加Price项必须为数字的验证。

    Product.rb中添加代码:

    validates_numericality_of :price

    添加代码后,Product.rb的代码如下:

    class Product < ActiveRecord::Base

          validates_presence_of :title, :description, :image_url

          validates_numericality_of :price

    end

    4.        再次打开Admin/New页面,给Price项输入字符,点击Create按钮,会看到错误提示,如下图:

     

    5.        下面,我们依次添加验证项,最后Product.rb的内容为:

    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.0

        end

    end

    下面依次解释:

    validates_presence_of :title, :description, :image_url 必输入项验证。

    validates_numericality_of :price数值验证

    validates_uniqueness_of :title唯一验证,如果title有重复的,表示error

     

    validates_format_of :image_url,

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

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

    Image_url项验证是否为图片,是否是一个url地址。

    protected

        def validate

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

        end

    price再添加一个验证,看是否为整数。

     

    OK,今天的验证就写到这里。

     

  • 相关阅读:
    OnEraseBkgnd、OnPaint与画面重绘
    .编译ADO类DLL时报错的解决方案
    VC列表框样式
    Codeforces 131D. Subway 寻找环树的最短路径
    Codeforces 103B. Cthulhu 寻找奈亚子
    Codeforces 246D. Colorful Graph
    Codeforces 278C. Learning Languages 图的遍历
    Codeforces 217A. Ice Skating 搜索
    Codeforces 107A. Dorm Water Supply 搜图
    Codeforces 263 D. Cycle in Graph 环
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/Instant_Rails_Ruby_On_Rails_Windows_Beginer_study.html
Copyright © 2011-2022 走看看