Creating, Styling, and Validating Web Forms
This course will guide students through creating forms with HTML, styling forms with CSS, and validating forms with JavaScript and regular expressions. The course also introduces students to server-side form validation using Node.js and working with JSON for data exchange. It also introduces students to Ajax.
Benefits
- Practical Skills: Students will learn to create functional and visually appealing web forms, providing them with practical skills to enhance their web development projects.
- Validation Techniques: The course equips students with the knowledge to implement client-side and server-side form validation, ensuring data integrity and security.
- Flexibility and Customization: By understanding various form elements and attributes, students will be able to create highly customizable forms tailored to specific user requirements.
- Improved User Experience: The skills gained in this course will enable students to design user-friendly forms, enhancing the overall user experience on their web applications.
Outline
- HTML Forms
- How HTML Forms Work
- The
<form>
Tag - Get vs. Post
- Form Elements
id
and name
Attributes- Text Fields
- Labels
- Text-like Input Types
placeholder
Attributepattern
Attribute- Password Fields
- Date and Time Fields
- Number Fields
- Color Fields
- Tel, URL, and Email Fields
- Search Fields
- Hidden Fields
- Buttons
- Submit Button
- Reset Button
- Button Buttons
- Checkboxes
- Radio Buttons
- Fieldsets
- Select Menus
- Option Groups
- Textareas
- JavaScript Form Validation
- Server-side Form Validation
- HTML Form Validation
- Accessing Form Data
- Form Validation with JavaScript
- Checking Validity on Input and Submit Events
- Adding Error Messages
- The dataset Property
- Validating Textareas
- Validating Checkboxes
- Validating Radio Buttons
- Which Radio Button was Selected?
- Validating Select Menus
- Giving the User a Chance
- Styling Forms with CSS
- General Form Layout
- Form-field Pseudo-Classes
- Applying Pseudo-Classes to Forms
- Radio Buttons, Checkboxes, and Fieldsets
- Regular Expressions
- Getting Started
- JavaScript's Regular Expression test() Method
- Regular Expression Syntax
- Start and End (
^ $
) - Number of Occurrences (
? + * {}
) - Common Characters (
. \d \D \w \W \s \S
) - Grouping (
[]
) - Negation (
^
) - Subpatterns (
()
) - Alternatives (
|
) - Escape Character (
\
) - Case-Insensitive Matches
- Backreferences
- Form Validation with Regular Expressions
- Cleaning Up Form Entries
- A Slightly More Complex Example
- Node.js and Server-side Form Validation
- Welcome to the Server-side
- What is a web server?
- Dynamic Websites
- Google Chrome DevTools: Network Tab
- Status Codes
- Welcome to Node.js
- Installing Node.js
- package.json
- Our First App
- What does npm start do?
- Our First Web App
- Stopping the Server
- Fat-arrow Functions
- Sending a Response with HTML
- The favicon.ico Icon
- Simple Routing and 404 Pages
- Delivering favicon.ico
- Express - Node.js Web Application Framework
- app.js
- Favicon Middleware
- Static Files
- Processing a Simple Form
- Form Validation
- Validators
- Validation Chaining
not()
- withMessage(message)
- Custom Validators
- Ajax
XMLHttpRequest
- Asynchronous
- JSON
- Review of Object Literals
- Arrays
- Objects
- Arrays in Objects
- Objects in Arrays
- Back to JSON
- JSON Syntax
- The built-in JavaScript
JSON
Object
Required Prerequisites
- Basic HTML
- Basic CSS
- Basic JavaScript