mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Clarification of ActiveRecord ActiveModel validation documentation
This commit is contained in:
parent
f41bf6938f
commit
8d96b89110
9 changed files with 24 additions and 11 deletions
|
@ -71,8 +71,8 @@ module ActiveModel
|
|||
# end
|
||||
#
|
||||
# Options:
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is
|
||||
# <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies the context where this validation is active
|
||||
# (e.g. <tt>:on => :create</tt> or <tt>:on => :special_rules</tt>)
|
||||
# * <tt>:allow_nil</tt> - Skip validation if attribute is +nil+.
|
||||
# * <tt>:allow_blank</tt> - Skip validation if attribute is blank.
|
||||
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine
|
||||
|
|
|
@ -38,7 +38,7 @@ module ActiveModel
|
|||
# * <tt>:message</tt> - A custom error message (default is: "must be
|
||||
# accepted").
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is
|
||||
# <tt>:save</tt>, other options are <tt>:create</tt> and
|
||||
# <tt>nil</tt>, other options are <tt>:create</tt> and
|
||||
# <tt>:update</tt>).
|
||||
# * <tt>:allow_nil</tt> - Skip validation if attribute is +nil+ (default
|
||||
# is true).
|
||||
|
|
|
@ -46,7 +46,7 @@ module ActiveModel
|
|||
# * <tt>:message</tt> - A custom error message (default is: "doesn't match
|
||||
# confirmation").
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is
|
||||
# <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# <tt>:nil</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine
|
||||
# if the validation should occur (e.g. <tt>:if => :allow_validation</tt>,
|
||||
# or <tt>:if => Proc.new { |user| user.signup_step > 2 }</tt>). The
|
||||
|
|
|
@ -51,7 +51,7 @@ module ActiveModel
|
|||
# * <tt>:allow_blank</tt> - If set to true, skips this validation if the attribute is blank (default is +false+).
|
||||
# * <tt>:with</tt> - Regular expression that if the attribute matches will result in a successful validation.
|
||||
# * <tt>:without</tt> - Regular expression that if the attribute does not match will result in a successful validation.
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>nil</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine if the validation should
|
||||
# occur (e.g. <tt>:if => :allow_validation</tt>, or <tt>:if => Proc.new { |user| user.signup_step > 2 }</tt>). The
|
||||
# method, proc or string should return or evaluate to a true or false value.
|
||||
|
|
|
@ -83,7 +83,7 @@ module ActiveModel
|
|||
# * <tt>:too_short</tt> - The error message if the attribute goes under the minimum (default is: "is too short (min is %{count} characters)").
|
||||
# * <tt>:wrong_length</tt> - The error message if using the <tt>:is</tt> method and the attribute is the wrong size (default is: "is the wrong length (should be %{count} characters)").
|
||||
# * <tt>:message</tt> - The error message to use for a <tt>:minimum</tt>, <tt>:maximum</tt>, or <tt>:is</tt> violation. An alias of the appropriate <tt>too_long</tt>/<tt>too_short</tt>/<tt>wrong_length</tt> message.
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies the context where this validation is active (e.g. <tt>:on => :create</tt> or <tt>:on => :special_rules</tt>)
|
||||
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine if the validation should
|
||||
# occur (e.g. <tt>:if => :allow_validation</tt>, or <tt>:if => Proc.new { |user| user.signup_step > 2 }</tt>). The
|
||||
# method, proc or string should return or evaluate to a true or false value.
|
||||
|
|
|
@ -93,7 +93,7 @@ module ActiveModel
|
|||
#
|
||||
# Configuration options:
|
||||
# * <tt>:message</tt> - A custom error message (default is: "is not a number").
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies the context where this validation is active (e.g. <tt>:on => :create</tt> or <tt>:on => :special_rules</tt>)
|
||||
# * <tt>:only_integer</tt> - Specifies whether the value has to be an integer, e.g. an integral value (default is +false+).
|
||||
# * <tt>:allow_nil</tt> - Skip validation if attribute is +nil+ (default is +false+). Notice that for fixnum and float columns empty strings are converted to +nil+.
|
||||
# * <tt>:greater_than</tt> - Specifies the value must be greater than the supplied value.
|
||||
|
|
|
@ -26,8 +26,7 @@ module ActiveModel
|
|||
#
|
||||
# Configuration options:
|
||||
# * <tt>message</tt> - A custom error message (default is: "can't be blank").
|
||||
# * <tt>on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>,
|
||||
# <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies the context where this validation is active (e.g. <tt>:on => :create</tt> or <tt>:on => :special_rules</tt>)
|
||||
# * <tt>if</tt> - Specifies a method, proc or string to call to determine if the validation should
|
||||
# occur (e.g. <tt>:if => :allow_validation</tt>, or <tt>:if => Proc.new { |user| user.signup_step > 2 }</tt>).
|
||||
# The method, proc or string should return or evaluate to a true or false value.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
module ActiveRecord
|
||||
# = Active Record Validations
|
||||
# = Active Record RecordInvalid
|
||||
#
|
||||
# Raised by <tt>save!</tt> and <tt>create!</tt> when the record is invalid. Use the
|
||||
# +record+ method to retrieve the record which did not validate.
|
||||
|
@ -18,6 +18,13 @@ module ActiveRecord
|
|||
end
|
||||
end
|
||||
|
||||
# = Active Record Validations
|
||||
#
|
||||
# Active Record includes the majority of its validations from ActiveModel::Validations
|
||||
# all of which accept the <tt>:on</tt> argument to define the context where the
|
||||
# validations are active. Active Record will always supply either the context of
|
||||
# <tt>:create</tt> or <tt>:update</tt> dependent on whether the model is a
|
||||
# <tt>new_record?</tt>.
|
||||
module Validations
|
||||
extend ActiveSupport::Concern
|
||||
include ActiveModel::Validations
|
||||
|
@ -50,6 +57,13 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
# Runs all the specified validations and returns true if no errors were added otherwise false.
|
||||
#
|
||||
# ==== Arguments
|
||||
#
|
||||
# * <tt>context</tt> - Context to scope the execution of the validations. Default is <tt>nil</tt>.
|
||||
# If <tt>nil</tt> then the response of <tt>new_record?</tt> will determine the context. If <tt>new_record?</tt>
|
||||
# returns true the the context will be <tt>:create</tt>, otherwise <tt>:update</tt>. Validation contexts
|
||||
# for each validation can be defined using the <tt>:on</tt> option
|
||||
def valid?(context = nil)
|
||||
context ||= (new_record? ? :create : :update)
|
||||
output = super(context)
|
||||
|
|
|
@ -33,7 +33,7 @@ module ActiveRecord
|
|||
#
|
||||
# Configuration options:
|
||||
# * <tt>:message</tt> - A custom error message (default is: "is invalid")
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>:save</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:on</tt> - Specifies when this validation is active (default is <tt>nil</tt>, other options <tt>:create</tt>, <tt>:update</tt>).
|
||||
# * <tt>:if</tt> - Specifies a method, proc or string to call to determine if the validation should
|
||||
# occur (e.g. <tt>:if => :allow_validation</tt>, or <tt>:if => Proc.new { |user| user.signup_step > 2 }</tt>). The
|
||||
# method, proc or string should return or evaluate to a true or false value.
|
||||
|
|
Loading…
Reference in a new issue