Challenge - 5 Problems
Presence Validation Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate2:00remaining
What happens when a model with presence validation is saved with a blank attribute?
Consider a Rails model with
validates :name, presence: true. What will be the result of model.save if name is blank?Ruby on Rails
class User < ApplicationRecord validates :name, presence: true end user = User.new(name: "") saved = user.save
Attempts:
2 left
💡 Hint
Think about what presence validation checks before saving.
✗ Incorrect
Presence validation prevents saving if the attribute is blank. So, save returns false and the record is not saved.
📝 Syntax
intermediate2:00remaining
Which option correctly adds presence validation for multiple attributes?
You want to validate presence of both
email and username in a Rails model. Which code is correct?Ruby on Rails
class Account < ApplicationRecord # Add presence validation here end
Attempts:
2 left
💡 Hint
Check the syntax for multiple attributes in validates.
✗ Incorrect
The correct syntax is to list attributes separated by commas before the validation option.
🔧 Debug
advanced2:00remaining
Why does this presence validation not work as expected?
Given this model code, why does saving a user with blank name still succeed?
class User < ApplicationRecord validates :name, presence: true, allow_blank: true end user = User.new(name: "") saved = user.save
Attempts:
2 left
💡 Hint
Check what allow_blank: true does in presence validation.
✗ Incorrect
allow_blank: true tells Rails to skip presence validation if the attribute is blank, so blank names are allowed.
❓ state_output
advanced2:00remaining
What is the content of errors after failed presence validation?
After trying to save a model with blank
title and presence validation, what will model.errors[:title] contain?Ruby on Rails
class Post < ApplicationRecord validates :title, presence: true end post = Post.new(title: "") post.save errors = post.errors[:title]
Attempts:
2 left
💡 Hint
What message does presence validation add on failure?
✗ Incorrect
Presence validation adds the error message "can't be blank" to the attribute's errors array.
🧠 Conceptual
expert2:00remaining
How does presence validation treat whitespace-only strings?
In Rails, if a model has
validates :description, presence: true, what happens when description is a string with only spaces, like " "?Attempts:
2 left
💡 Hint
Think about how Rails treats strings with only spaces in presence validation.
✗ Incorrect
Rails treats strings with only whitespace as blank, so presence validation fails for such strings.