Ruby on Rails - validating numericality of an attribute in ruby on rails- ruby on rails tutorial - rails guides - rails tutorial - ruby rails
- This validation restricts the insertion of only numeric values.
class Player < ApplicationRecord
validates :points, numericality: true
validates :games_played, numericality: { only_integer: true }
end
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - ruby on rails tutorial - rails guides - ruby rails - rubyonrails - learn ruby on rails - team
- Besides :only_integer, this also accepts the given below options to add constraints to acceptable values:
- :greater_than - Specifies the value must be greater than the supplied value. The default error message for this option is "must be greater than %{count}".
- :greater_than_or_equal_to - Specifies the value must be greater than or equal to the supplied value. The default error message for this option is "must be greater than or equal to %{count}".
- :equal_to - Specifies the value must be equal to the supplied value. The default error message for this option is "must be equal to %{count}".
- :less_than - Specifies the value must be less than the supplied value. The default error message for this option is "must be less than %{count}".
- :less_than_or_equal_to - Specifies the value must be less than or equal to the supplied value. The default error message for this option is "must be less than or equal to %{count}".
- :other_than - Specifies the value must be other than the supplied value. The default error message for this option is "must be other than %{count}".
- :odd - Specifies the value must be an odd number if set to true. The default error message for this option is "must be odd".
- :even - Specifies the value must be an even number if set to true. The default error message for this option is "must be even".
By default, numericality doesn't allow nil values. You can use allow_nil: true option to permit it.