Ruby on Rails - 用户输入验证



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

validates_presence_of

以下检查 last_name 和 first_name 是否已填写,并且不为 NULL。

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 和 password_confirmation 必须匹配,并将按如下方式使用:

validates_confirmation_of :password

validates_uniqueness_of

以下为 user_name 设置唯一性的条件。

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-references-guide.htm
广告