Validate and trace the enquiry
Lesson 13 of 24
Prove required-field and email validation, inspect keyboard flow, submit one synthetic valid enquiry, find its stored Forminator submission, confirm the course mail catcher receives the local test message, and measure duplicate-click behaviour instead of assuming it.
Before you start
Before you begin The producer must route WordPress mail to an approved local mail catcher for this chapter. A mail catcher accepts local test messages and displays them in a browser; it does not send them to a real inbox. No real email address or customer data belongs in this exercise. Screenshot brief — IMG-WP14-00 - Place: after the paragraph above. - Capture: safe local-course evidence that the mail catcher is running, with an empty inbox and no external account. - Do not show: host credentials or unrelated messages. - Caption: “The course mail catcher keeps this delivery test local.”
1. Submit the form empty
Open Contact signed out and choose Submit without completing the required fields. The form should show clear field-level or summary errors and must not show the success message. Read the actual error wording on the pinned Forminator version rather than replacing it with tutorial text.
2. Test an invalid email
Fill the other required fields with synthetic content, but enter not-an-email in Email. Submit again. The form should reject the invalid address and remain on the form. No valid submission should be stored for this test. If an invalid value is accepted, stop and return to the Email field in Forminator. Under Settings choose Validate → Validate Field, Apply, and Publish Changes. Repeat the invalid test and verify that no new entry has its marker. Required and format validation are separate controls.
3. Check the keyboard path
Reload a clean Contact form and use Tab from the first field through Email, Type of service, Message and Submit. Confirm the focus indicator is visible and the order follows the form’s visual/logical sequence. Use the keyboard to open/select the service field and reach Submit. Do not remove the focus style in a later design lesson.
4. Submit one valid synthetic enquiry
Use these exact test values: - Name: Taylor Example - Email: taylor@example.test - Type of service: Seasonal tidy-ups - Message: Please tidy leaves and check access through the side gate. Submit once and wait for the result. The page should display: Thanks — your test enquiry was recorded on this practice site.
5. Find the stored Forminator submission
Return to Dashboard and open the pinned Forminator Submissions area. Filter/select Garden enquiry and find the Taylor Example record. Open it and compare all four values with the form entry. There should be one stored record for this valid test.
6. Check the local mail-catcher receipt
Open the local mail-catcher UI. Locate the message generated from the valid submission and inspect the recipient, subject/body and timestamp according to the pinned notification configuration. This proves that WordPress/Forminator handed a message to our local test SMTP path. It does not prove a real provider accepted or delivered an email to a real inbox.
7. Measure duplicate-click behaviour
Use a new synthetic message containing a unique marker, for example: Duplicate-click test 14 In the disposable fixture, activate Submit twice as quickly as the browser permits. Then inspect Forminator submissions and count how many records use that marker. We are testing observed behaviour, not forcing the chapter to say Forminator prevents duplicates. If two records appear, record that fact and design the later operational handling around it. In the recorded rehearsal one rapid double-click created one stored WP14-DOUBLE-01 entry. Measure your own result; this does not guarantee duplicate prevention under every retry or network condition.
8. State what has and has not been proven
At this point we know the form rejects the tested invalid inputs, stores a valid synthetic submission, and can generate a notification captured locally. We still do not know whether an approved real mail provider accepts and delivers the message, who monitors the destination, how long submissions should remain stored, or what happens during delivery failure. Those need a separate real-delivery lesson in an approved environment; they are not proved by this local exercise.
Practise
Run empty, invalid-email and valid synthetic submissions. Find the stored valid record and the corresponding local mail-catcher message. Success check: no invalid test is mistaken for success; the valid test can be traced from visitor form → stored submission → local captured mail.
Check your result
no invalid test is mistaken for success; the valid test can be traced from visitor form → stored submission → local captured mail.
If something goes wrong
- The success message appears for an invalid form: stop; record the exact fields/browser/plugin version and treat it as a defect rather than continuing. - The submission is stored but no local mail appears: inspect the local mail transport and Forminator notification configuration separately; storage success does not prove notification success. - A real address appears in the test: stop and replace the fixture/test data before continuing; do not copy it into evidence.