Active Record Validations Lab
Learning Goals
- Write basic validations using Active Record helpers
- Write custom validations
Introduction
This project has starter code for a couple of models, Author and Post. To
get set up, run:
$ bundle install
$ rails db:migrateThen run learn test to run the tests. We'll be focusing solely on the model
files for this lab, so there's no need to run rails s or view anything in the
browser.
Basic Validations
Add validations to these models such that...
- All authors have a name
- No two authors have the same name
- Author phone numbers are exactly ten digits
- All posts have a title
- Post content is at least 250 characters long
- Post summary is a maximum of 250 characters
- Post category is either
FictionorNon-Fiction. This step requires aninclusionvalidator, which was not outlined in the lesson. You'll need to refer to the Rails guide to look up how to use it.
Custom Validations
Finally, add a custom validator to the Post model that ensures the title is
sufficiently clickbait-y. The validator should add a validation error if the
title does not contain:
- "Won't Believe"
- "Secret"
- "Top [number]"
- "Guess"
Use the Custom methods style of validator found in the Rails documentation.