Validations with form_tag
Validations with form_tag
form_tag
Objectives
Render or redirect based on validation of instance in create/update
Prefill in form values based on an instance
Print out full error messages based on an invalid instance
Introspect on errors for a field
Apply an error class to a field conditionally based on errors on a field
Requirements
Validations
Add validations to
Author
such that...name
is not blankemail
is uniquephone_number
is exactly 10 digits longAdd validations to
Post
such that...title
is not blankcontent
is at least 100 characters longcategory
is either"Fiction"
or"Non-Fiction"
Basic Routes & Controllers
Create controllers for both models.
Create
show
,new
,edit
,create
, andupdate
routes for both models.Define controller actions for
show
,new
, andedit
.Define the "valid path" for the
create
andupdate
controller actions.Define the "invalid path" for the
create
andupdate
controller actions.
Forms
Create forms with
form_tag
for both models'new
andedit
actions.Prefill already-submitted forms with the invalid data when re-rendering.
Display a list of errors at the top of forms when an invalid action is attempted. They should be contained in an element with id
error_explanation
, and each error should have its own<li>
.Conditionally wrap each field in a
.field_with_errors
div if it has errors.
Last updated