美文网首页
Rails验证使用教程

Rails验证使用教程

作者: 风暴英雄 | 来源:发表于2014-04-17 21:24 被阅读0次
    验证值唯一性
    class User < ActiveRecord::Base
        validates_uniqueness_of :email
    end
    

    基于多个参数指定唯一值

    class Schedule < ActiveRecord::Base
        validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
    end
    

    配置选项:
    :message - 指定自定义错误信息

    验证数据长度
    class User < ActiveRecord::Base
        validates_uniqueness_of :email
        validates_length_of :email, :within => 5..50
    end
    

    可用选项
    :minimum 指定最小长度
    :maximum 指定最大长度
    :is 指定特定的长度
    :within 指定范围值,如上面的5..50
    :allow_nil 长度允许为空
    :too_long 指定超出最大长度的错误信息
    :too_short 指定没有满足最小长度的错误信息
    :wrong_length 没有满足长度要求的信息
    :message 指定错误信息

    通过正则验证数据
    class User < ActiveRecord::Base
        validates_uniqueness_of :email
        validates_length_of :email, :within => 5..50
        validates_format_of :email, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i
    end
    
    验证确认值
    class User < ActiveRecord::Base
        validates_uniqueness_of :email
        validates_length_of :email, :within => 5..50  
        validates_format_of :email, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i
        validates_confirmation_of :password
    end
    

    当我们添加validates_confirmation_of之后,模型会自动添加一个password_confirmation属性来匹配password

    验证布尔值

    validates_acceptance_of

    模型回调函数

    • before_create
    • after_create
    • before_save
    • after_save
    • before_destroy
    • after_destroy

    更新模型

    rails generate migration rename_password_to_hashed_password重命名字段名称

    相关文章

      网友评论

          本文标题:Rails验证使用教程

          本文链接:https://www.haomeiwen.com/subject/gbsltttx.html