- Define validations in data processing.
- Ensure that only acceptable input is sent to the database using validations.
- Constraint: a rule enforced on the data columns of a table. Ensures that only appropriate data is saved to the database.
- Validation: an automatic check to ensure that data entered is sensible and feasible.
- Forms: A web form (or HTML form) is a place where users enter data or personal information that's then sent to a server for processing.
This is a test-driven lab.
Run pipenv install
to create your virtual environment and pipenv shell
to
enter the virtual environment.
pipenv install && pipenv shell
This project has starter code for a couple of models, Author
and Post
. To
get create the database from the initial migration, run:
$ cd server
$ flask db upgrade
$ python seed.py
Add validators to the Author
and Post
models such that:
- All authors have a name.
- No two authors have the same name.
- Author phone numbers are exactly ten digits.
- Post content is at least 250 characters long.
- Post summary is a maximum of 250 characters.
- Post category is either
Fiction
orNon-Fiction
. - Post title is sufficiently clickbait-y and must contain one of the following:
- "Won't Believe"
- "Secret"
- "Top"
- "Guess"
You should not need to run another migration, unless you altered model constraints.
Run pytest -x
to run your tests. Use these instructions and pytest
's error
messages to complete your work in the server/
folder.