• 二、使用rails3.0自带的数据检查功能检查输入数据


    接着上面的文章、继续、打开app/models/product.rb文件

    1 class Product < ActiveRecord::Base
    2 end

    在这个文件里可以加入些语句进行输入数据的约束、首先加入

    validates :title, :description, :image_url, :presence => true
    

    这句是打开各个字段的约束为非空、这么讲吧、就是把title、description、image_url、这几个字段检查是否为非空、

    再来、

    validates :price, :numericality => {:greater_than_or_equal_to => 0.01}
    

    这句就是要求price的值大于或等于0.01、

    再来

    validates :title, :uniqueness => true

    这句是验证title字段不能重复、

    1 validates :image_url, :format => {
    2 :with => %r{\.(gif|jpg|png)$}i,
    3 :message => 'must be a URL for GIF, JPG or PNG image.'
    4 }

    最后这个是约束image_url的、通过一段正则表达式来处理、要求格式必须为gif/jpg/png、判断准则便是最后一个小数点必须是这些扩展名、

    OK、大功告成、所以完整的代码应该是这样的

    class Product < ActiveRecord::Base
      validates :title, :description, :image_url, :presence => true
      validates :price, :numericality => {:greater_than_or_equal_to => 0.01}
      validates :title, :uniqueness => true
      validates :image_url, :format => {
        :with    => %r{\.(gif|jpg|png)$}i,
        :message => 'must be a URL for GIF, JPG or PNG image.'
      }
    end
    

    迩再试试打开http://localhost:3000/products页面直接按提交?哈哈






  • 相关阅读:
    libevent简介[翻译]3 前言
    libevent简介[翻译]2 关于异步IO的简单介绍
    gdb调试子进程
    openSUSE Firewalld
    libevent简介[翻译]1 关于这个文档
    构建libevent pdf 文档
    openSUSE编译libevent
    为openSUSE添加源
    .Net Core3.0 WebApi 项目框架搭建 五:仓储模式
    .Net Core3.0 WebApi 项目框架搭建 四:JWT权限验证
  • 原文地址:https://www.cnblogs.com/klobohyz/p/2208675.html
Copyright © 2020-2023  润新知