Harry
Harry

Reputation: 4835

Duplicate flash error messages with multiple validations

I am currently validating my model using this code:

validates :price, :presence => true, :numericality => {:greater_than => 0}

This works fine, except that when I do not enter any value in this field, I get 2 errors - both "Price can't be blank" and "Price is not a number".

I can understand why this happens - clearly it is failing both tests. But i'm wondering if there is a way to ge the validation to stop after one test, since there is no point testing if the number is > 0 if there is no number at all?

Thanks!

Edit: For clarity, I don't want to allow the field to be blank, I just don't want the numericality test to run if it is blank, to avoid 2 error messages for what is really 1 error.

Upvotes: 1

Views: 540

Answers (1)

Castilho
Castilho

Reputation: 3187

Not sure if it will work, but you can try:

validates :price, :presence => true, :numericality => {:greater_than => 0, :allow_blank => true }

Upvotes: 1

Related Questions