Ruby on Rails 2.1 - 用户输入验证



以下是您可以对用户输入执行的验证列表:

validates_presence_of

以下代码检查姓氏和名字是否包含数据且不为空。

validates_presence_of :firstname, :lastname

validates_length_of

以下示例显示了对单个文件的各种验证。这些验证可以分别执行。

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'    
   :too_long => 'way to long'

validates_acceptance_of

以下代码只接受选项字段的“Y”值。

validates_acceptance_of :option            
                        :accept => 'Y' 

validates_confirmation_of

密码和password_confirmation字段必须匹配,使用方法如下:

validates_confirmation_of :password

validates_uniqueness_of

以下代码为用户名设置唯一性条件。

validates_uniqueness_of :user_name

validates_format_of

以下代码验证给定的邮箱ID是否格式有效。它展示了如何使用正则表达式来验证字段。

validates_format_of :email
    :with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

validates_numericality_of

它验证给定字段是否为数字。

validates_numericality_of   :value                 
                            :only_integer => true   
                            :allow_nil => true      

validates_inclusion_of

以下代码检查传递的值是否为枚举值,并且在给定范围内。

validates_inclusion_of  :gender,   
                        :in => %w( m, f )

validates_exclusion_of

以下代码检查给定值是否不在给定范围内。

validates_exclusion_of  :age        
                        :in => 13..19

validates_inclusion_of

以下代码检查给定值是否在给定范围内。这与validates_exclusion_of相反。

validates_inclusion_of  :age
                        :in => 13..19

validates_associated

它验证关联的对象是否有效。

所有验证的选项

您可以将以下选项与所有验证一起使用。

  • :message => 'my own errormessage' 如果验证失败,则使用此选项打印自定义错误消息。

  • :on => :create 或 :update 这将用于您只想在创建或更新记录时执行验证的情况。如果您使用:create,则此验证仅在数据库上有创建操作时才有效。

rails-quick-guide.htm
广告