aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/validations_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge pull request #7826 from sikachu/master-validators-kind"Rafael Mendonça França2012-10-021-8/+0
| | | | | | | | | | | | | | | | This reverts commit 4e9f53f9736544f070e75e516c71137b7eb49a7a, reversing changes made to 6b802cdb4f5b84e1bf49aaeb0e994b3be6028af9. Revert "Don't use tap in this case." This reverts commit 454d820bf0a18fe1db4c55b0145197d70fef1f82. Reason: Is not a good idea to add options to this method since we can do the same thing using method composition. Person.validators_on(:name).select { |v| v.kind == :presence } Also it avoids to change the method again to add more options.
* Make `.validators_on` accept `:kind` optionPrem Sichanugrist2012-10-021-0/+8
| | | | | This will filter out the validators on a particular attribute based on its kind.
* AM::Validation#validates: ability to pass custom exception to `:strict` optionBogdan Gusiev2012-08-061-0/+9
|
* Don't enable validations when passing false hash values to ActiveModel.validatesSteve Purcell2012-05-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing a falsey option value for a validator currently causes that validator to be enabled, just like "true": ActiveModel.validates :foo, :presence => false This is rather counterintuitive, and makes it inconvenient to wrap `validates` in methods which may conditionally enable different validators. As an example, one is currently forced to write: def has_slug(source_field, options={:unique => true}) slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? } before_validation slugger validations = { :presence => true, :slug => true } if options[:unique] validations[:uniqueness] = true end validates :slug, validations end because the following reasonable-looking alternative fails to work as expected: def has_slug(source_field, options={:unique => true}) slugger = Proc.new { |r| r[:slug] = self.class.sluggify(r[source_field]) if r[:slug].blank? } before_validation slugger validates :slug, :presence => true, :slug => true, :uniqueness => options[:unique] end (This commit includes a test, and all activemodel and activerecord tests pass as before.)
* Kill whitespaces :scissors:Carlos Antonio da Silva2012-05-151-1/+1
|
* clean the erros if an object that includes validations errors is duped. ↵Angelo Capilleri2012-05-131-0/+15
| | | | Fixes #5953
* replacing ordered hash to ruby hashprasath2012-02-081-1/+1
|
* Generate strict validation error messages with attribute nameCarlos Antonio da Silva2012-02-011-3/+12
|
* Removed unwanted intializer and replaced with ruby default collect methodprasath2012-01-271-2/+1
|
* validates method should not change options argumentdreamfall2012-01-171-0/+6
|
* Implemented strict validation conceptBogdan Gusiev2011-08-171-0/+33
| | | | | | | In order to deliver debug information to dev team instead of display error message to end user Implemented strict validation concept that suppose to define validation that always raise exception when fails
* :if should not fire on validations when not in context with :onAditya Sanghi2011-04-291-0/+14
|
* Find all validators for multiple attributesCarl Lerche2011-02-051-0/+18
|
* Tests and docs which explain the use of validate with a block and without ↵Santiago Pastorino2010-12-191-1/+9
| | | | arguments
* ActiveModel::Errors.to_hash returns plain OrderedHash and used in to_json ↵Thilo Utke2010-12-011-2/+2
| | | | | | serialization to properly handle multiple errors per attribute [#5615 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Remove deprecations in ActiveModel.José Valim2010-08-291-36/+0
|
* after_validation should be called irrespective of the result of validation.Neeraj Singh2010-08-201-0/+2
| | | | | | | | I confirmed that this is the behavior on 2.3.x . [5419 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-1/+1
| | | | 's/[ \t]*$//' -i {} \;)
* ActiveModel::Errors json serialization to work as Rails 3b4 [#5254 ↵Alex Le2010-08-021-3/+5
| | | | | | state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Work around the fact the JSON gem was overwriting to_json implementation for ↵José Valim2010-06-261-6/+15
| | | | | | | all Ruby core classes. This is required because the JSON gem is incompatible with Rails behavior and was not allowing ActiveModel::Errors to be serialized. So we need to ensure Rails implementation is the one triggered. [#4890 state:resolved]
* Regression with how base errors messages are added to a model. Works ↵Josh Kalderimis2010-06-231-3/+18
| | | | | | correctly for both string error messages and symbol translated messages. Signed-off-by: José Valim <jose.valim@gmail.com>
* Make use of assert_equal to test equallity between object assert expects and ↵Santiago Pastorino2010-05-161-1/+1
| | | | | | | | object and a message of error [#4611 state:committed] Signed-off-by: José Valim <jose.valim@gmail.com>
* validation macros can now be used within an instanceJosh Kalderimis2010-05-131-0/+13
|
* removed AR from all AMo tests, including any unneeded files (schema, ↵Josh Kalderimis2010-05-091-11/+9
| | | | fixtures and test helper)
* removed an old unused model in the AMo tests which also removes another AR ↵Josh Kalderimis2010-05-091-1/+0
| | | | dependency
* removed use of AR in AMo tests and removed testing of scopes (:on) in ↵Josh Kalderimis2010-05-081-32/+34
| | | | individual validation tests and moved them to their own test file
* Re-define empty? for errors to check if the values inside the OrderedHash ↵Ryan Bigg2010-04-101-0/+6
| | | | | | are empty rather than the OrderedHash itself. [#4356 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Add validators reflection so you can do 'Person.validators' and ↵Prem Sichanugrist2010-02-211-0/+27
| | | | | | 'Person.validators_on(:name)'. Signed-off-by: José Valim <jose.valim@gmail.com>
* Adding Proc support to validation messages so that they can become a little ↵Samuel Elliott2010-01-171-0/+8
| | | | | | more dynamic, allowing for customisations during the request [#3514 status:resolved]. Signed-off-by: José Valim <jose.valim@gmail.com>
* Be sure to convert namespaced names to we have 'Parrots name' instead of ↵José Valim2010-01-021-0/+6
| | | | 'Parrots.name' in error messages.
* No need to use ValidationsRepairHelper hack on ActiveModel anymore, ↵José Valim2009-12-231-2/+3
| | | | Model.reset_callbacks(:validate) is enough. However, tests in ActiveRecord are still coupled, so moved ValidationsRepairHelper back there.
* Ensure validation errors to be ordered in declared orderAkira Matsuda2009-09-111-0/+16
| | | | | | [#2301 state:committed milestone:2.3.5] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Changed ActiveRecord to use new callbacks and speed up observers by only ↵José Valim2009-09-081-3/+3
| | | | | | notifying events that are actually being consumed. Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Allow validations to use values from custom readers [#2936 state:resolved]James Hill2009-08-051-0/+14
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Deprecate Errors#on_base/add_to_base/invalid?/each_fullPratik Naik2009-03-211-6/+18
|
* Validation tests arent using any fixturesPratik Naik2009-03-201-2/+0
|
* Deprecate Error#on(attribute) in favour of Errors#[attribute]Pratik Naik2009-03-201-1/+25
|
* TestDatabase -> TestsDatabasePratik Naik2009-03-201-2/+2
|
* Move relevant validation tests from Active Record to Active ModelPratik Naik2009-03-201-0/+144