Build a review that remains text
See this course’s project requirements
A local two-step fictional workshop-registration form with labeled fields, preserved back navigation, error summary and a review-before-submit screen; no data is sent.
Keep your working files in your own notebook or software. Save a private description, checklist, and work link in My Proof.
What to include
- Create a step map and verify that Next, Review, and local completion have distinct behavior.
- Produce an inspected label/group map with working for/id associations.
- Record missing, malformed, endpoint, and repaired input behavior with actionable error messages.
- Build a Back-navigation matrix proving that edits change the intended value and preserve other fields.
- Produce a literal-text review that rejects an invalid complete request and reflects changed valid values.
- Deliver source plus separate rule-test and rendered-journey evidence, with honest unverified checks.
Review and revise
Use these criteria to check your work and choose what to improve.
- The implementation or declared simulation follows the supplied contract and retains inspectable original inputs.
- Normal, boundary and rejected cases are recorded with expected versus observed results.
- The changed case has a correct explanation and does not rely on hidden state.
- The project includes source, outputs, instructions and honest tool, privacy and verification limits.
Want more background?
The idea in everyday life
The nickname is fictional. The app displays it beside session and seat count without inserting HTML.
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
Build a review that remains text — original worked practice
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
The nickname is fictional. The app displays it beside session and seat count without inserting HTML.
1. Step 1
Read review(d) in form-logic.mjs; notice that it calls the full validator before producing text.
You should see: An invalid full request raises Invalid review.
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
2. Step 2
Enter nickname <b>Nova</b>, Morning, and 2 seats in the browser. Continue to review.
You should see: The nickname characters appear literally rather than as bold markup.
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
3. Step 3
Inspect the review assignment by("summary").textContent=review(data()). Keep it as textContent.
You should see: User text is not interpreted as an HTML fragment.
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
4. Step 4
Return and edit seats to 3; retain both reviews and the all-fields validation rule.
You should see: A review test record covering changed data and literal text.
The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup.
What to finish
Produce a literal-text review that rejects an invalid complete request and reflects changed valid values.
Watch for this
Writing learner-entered text with innerHTML or reviewing values before the final rule check.
How can I tell I understand it?
Demonstrate the rule: The review is a readable rendering of validated current data. textContent displays text and does not treat a nickname as markup. Use the supplied variant to distinguish a changed result from a broken implementation.
Quick knowledge check
Answer all 3 questions. Get at least 2 right and the lesson completes automatically.
You’ll get an explanation for each answer. Signed in? Your results save to your account.
Pass the check. We’ll save the progress.
Answer all 3 questions above and get at least 2 right. You can review the explanations and try again.
Go to the knowledge checkTools, templates, and lesson sources
Tools and templates
Tools open in a new tab so you can keep your place here.
Sources and further reading
Explore the references behind this lesson.
Source & access notes · checked 2026-10-01
Relevant documented module/API behavior inspected during expansion authoring; actual execution evidence is recorded separately. No grant eligibility is established.
Access: Official page retrieved with the web reader on 2026-10-01. Documentation reading does not certify execution in every native tool or browser.
Reuse: Original local practice files, fictional data, worked examples and questions. Concepts paraphrased and linked; source exercises are not copied.
Source & access notes · checked 2026-10-01
Relevant documented module/API behavior inspected during expansion authoring; actual execution evidence is recorded separately. No grant eligibility is established.
Access: Official page retrieved with the web reader on 2026-10-01. Documentation reading does not certify execution in every native tool or browser.
Reuse: Original local practice files, fictional data, worked examples and questions. Concepts paraphrased and linked; source exercises are not copied.
Report a problem with this lesson
Tell us what went wrong. Please leave out personal information and private project contents.