1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00

Add Custom Validation Message as a rails til

This commit is contained in:
jbranchaud
2016-03-08 19:54:03 -06:00
parent 3ab87c24ab
commit 84d684804b
2 changed files with 32 additions and 0 deletions

View File

@@ -219,6 +219,7 @@ _358 TILs and counting..._
- [Code Statistics For An Application](rails/code-statistics-for-an-application.md)
- [Conditional Class Selectors in Haml](rails/conditional-class-selectors-in-haml.md)
- [Creating Records of Has_One Associations](rails/creating-records-of-has-one-associations.md)
- [Custom Validation Message](rails/custom-validation-message.md)
- [Hash Slicing](rails/hash-slicing.md)
- [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md)
- [Migrating Up Down Up](rails/migrating-up-down-up.md)

View File

@@ -0,0 +1,31 @@
# Custom Validation Message
When using Rails validations, a standard error message will be provided
whenever there is a violation. Consider the scenario when there is a
uniqueness validation on the email attribute and it is violated:
```ruby
# User model
validates_uniqueness_of :email
# Users controller
new_user.errors.full_messages
#=> ["Email has already been taken"]
```
Sometimes you don't want the default validation message. The validation
declaration can be given a `message` option to specify an alternate
validation message.
```ruby
# User model
validates_uniqueness_of :email, message: 'is not available'
# Users controller
new_user.errors.full_messages
#=> ["Email is not available"]
```
Keep in mind that `full_messages` will prepend the model name to the front
of the message. You'll want to ensure that the resulting message is
coherent.