Skip to main content

Project Study: Create A Common Register Form

I had shared my HTML Form study notes, and it is time to use those key elements to do a small form project. The Udemy course assignment is creating a register form like below:


There are a few requirements:
  • First name, Last name, Email are required fields
  • Password requires 5 to 10 characters
  • Three drop-down contents: Month, Day and Year
  • Three radio buttons: Male, Female and Other
  • One checkbox

Let's Start!

Step One: Use <label> and <input> to create First Name and Last Name fields


Before I create form, I start to enter page title "Register Form", and put header as "Register" under <body> tag. So when I open the page on browser, I can see the page is about "Register Form".

Then, I begin to create the form by enter <form> tag. The web application will know there will be a form under the page header. If you want to submit this form to another page, you need to add "action" and "method" attribute inside <form> tag.

For the first line, I create two <input> tags, one for "First name", and one for "Last name". Their types are "text" and required. Since the Form shows "John" and "Smith" inside the text box, so I add "placeholder" attribute for each <input>.We also want to add labels for each <input>, so users can understand what this fields stand for. 


Step Two: Create Radio Button


The second line of this form is selecting gender. Firstly, I add <div> tag to separate this segment to the first line. You can also use <p> tag to do the same thing.

Then, I add a type= "radio" attribute inside each <input> tags. Moreover, the web application needs to know each input stands for, so I add "value" attribute.

If I only write <input> elements, it only show three radio buttons on the form. People will have no clue what those buttons for. So, I add <label> tag with the right name for each <input>.


Step Three: Create "Email" field and Add validation message for "Password"


I add another <div> to start a new section for the form which includes "Email" and "Password" input.

For the email, I set the type attribute of the <input> element as "email", and add placeholder and required attribute, too. For the password,  I set the input type as "password" and add the placeholder. Don't forget to add labels for each field.

 

The assignment requires the password need to contain 5 to 10 characters. In order to do that, I search the solution online and learn to add pattern=".{5,10}", required title="5 to 10 characters" attribute value inside the <input> tag.


Therefore, when I fill in the form and just enter two characters in the Password field, after I click submit button, it pops up the error message. The message is exactly the information I added in the "required title "attribute.

Step Four: Create Drop-down Content

For the drop-down content, we need to use <select> and <option> tags. The first select content is "Month", so I start with <select name="Month"> tag, and add twelve months <option> tags. Then, I use the same way to create "Day" and "Year" drop-down fields. Again, Don't forget to add "Birthday" label at the beginning of the drop-down content.


The result will be:

Step Five: Add Checkbox and Submit Button

For the checkbox, we need to set the type attribute as "checkbox" in the <input> element. Since we want users to agree the terms and conditions before submit the form, I set name attribute as "agree". I have said hundred of times, add the label "I agree to the terms and conditions" for this checkbox, or nobody will understand what this single checkbox for.


At the end of the form, we need have "submit" button to allow users to click and submit the form. So I start a new line, and add a new <input type="submit"> element. The other way you can do this is add <button for "submit"> Submit </button> element. 


After I finished all the steps, the final form result is:


The form looks organized, clear, and easy to fill in. If you want encourage your potential customers to fill in the form or sign up for new account, the simple form design the better result.


Comments

Popular posts from this blog

Intermediate Express.js: How To Add Styles & Partials in EJS File?

So far, we only have simple HTML tags and ejs tags in each ejs file. Every template page has no style at all. And the basic HTML header and footer are also missing. Today, I learned how to add styles and partials in ejs file. Link Style Step One: Touch a Separate CSS file I create a new directory "Style" under the "EJSDemo" directory, then I add a new CSS file "app.css" inside "Style" folder. Step Two: Add app.use(express.static()) in the app.js I add app.use(express.static("style")) in the "app.js". This will tell Express.js to serve the content of "Style" directory. Step Three: Write styles in CSS file I simple give body an orange background color and set text color to be grey. Step Four: Link to CSS file in the EJS file I just add <link> tag to link the "app.css" file on the top of the h1 tag in each ejs template. As the result, when I run the app and...

Intermediate Express.Js: Write Conditions and Loops In The EJS (study note)

We continue to use the app.js which we have build to be the study example. In the last post, we only add a simple EJS tag <%= thingVar %> inside h1 tag. This will match the "thing" to any "thing" request from the user. If Statement Today, the course shows us to write a simple if statement in the EJS file. I learn to apply it to my own app. In the if statement, if users send"/wantto/workout" request, the page will show a new content "Good Idea!". We wrote the if statement in the "diet.ejs" file, and we add "<% %>" tags around the code. We have to wrap every line of JavaScript anytime JavaScript starts and ends. Moreover, you may see there are two types of ejs tags here: <%= %> The one with equal sign. According to the course, when we add equal sign, the value that is returned inside of the tag will be rendered to the HTML page. it will be added to the HTML. For example, if we write ...

Authentication Project: Secret Page App Part One (Set up & Create User Model)

So far we only write the RESTful routes to send request and redirect to the related page, but we haven't do anything about authentication. If we can sign up, login, and log out, it will make our app more meaningful. Therefore, the course shows us how to create a secret page app, which will allow us to sign up, login to a secret page, and logout. Since it requires so many pieces, I will divided this project into three parts: set up & create user model, sign up, and login/logout. In this post, I am going to show all the set up process. Set Up Step One: Install packages The first thing we are going to do to create a folder "Auth", and inside of "Auth", we need to create another folder "AuthDemo". Then we cd (change directory) to "AuthDemo". Now we can set up the actual application structure by installing a few packages: passport, passport-local, passport-local-mongoose, mongoose, express, ejs, body-parser, and express-session....