diff options
author | CassioMarques <cassiommc@gmail.com> | 2008-11-10 21:02:40 -0200 |
---|---|---|
committer | CassioMarques <cassiommc@gmail.com> | 2008-11-10 21:02:40 -0200 |
commit | 31dcce8c1c41da49bfc0d60bd6ea77e4cd7e7d17 (patch) | |
tree | a9569f3140a7a65c6de8c70c713a36554820a0b5 /railties/doc/guides/source | |
parent | 6f944c06c86fcf30f257202fa10f0ccad6014ef5 (diff) | |
download | rails-31dcce8c1c41da49bfc0d60bd6ea77e4cd7e7d17.tar.gz rails-31dcce8c1c41da49bfc0d60bd6ea77e4cd7e7d17.tar.bz2 rails-31dcce8c1c41da49bfc0d60bd6ea77e4cd7e7d17.zip |
Added documentation for validates_uniqueness_of
Diffstat (limited to 'railties/doc/guides/source')
-rw-r--r-- | railties/doc/guides/source/activerecord_validations_callbacks.txt | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/railties/doc/guides/source/activerecord_validations_callbacks.txt b/railties/doc/guides/source/activerecord_validations_callbacks.txt index 04248d592f..bea0cf425b 100644 --- a/railties/doc/guides/source/activerecord_validations_callbacks.txt +++ b/railties/doc/guides/source/activerecord_validations_callbacks.txt @@ -262,7 +262,38 @@ NOTE: If you want to validate the presence of a boolean field (where the real va The default error message for +validates_presence_of+ is "_can't be empty_". -=== The validates_uniqueness_of+ helper +=== The +validates_uniqueness_of+ helper + +This helper validates that the attribute's value is unique right before the object gets saved. It does not create a uniqueness constraint directly into your database, so it may happen that two different database connections create two records with the same value for a column that you wish were unique. To avoid that, you must create an unique index in your database. + +[source, ruby] +------------------------------------------------------------------ +class Account < ActiveRecord::Base + validates_uniqueness_of :email +end +------------------------------------------------------------------ + +The validation happens by performing a SQL query into the model's table, searching for a record where the attribute that must be validated is equal to the value in the object being validated. + +There is a +:scope+ option that you can use to specify other attributes that must be used to define uniqueness: + +[source, ruby] +------------------------------------------------------------------ +class Holiday < ActiveRecord::Base + validates_uniqueness_of :name, :scope => :year, :message => "Should happen once per year" +end +------------------------------------------------------------------ + +There is also a +:case_sensitive+ option that you can use to define if the uniqueness contraint will be case sensitive or not. This option defaults to true. + +[source, ruby] +------------------------------------------------------------------ +class Person < ActiveRecord::Base + validates_uniqueness_of :name, :case_sensitive => false +end +------------------------------------------------------------------ + +The default error message for +validates_uniqueness_of+ is "_has already been taken_". == Common validation options |