"/> ">
Home >Web Front-end >JS Tutorial >Form required attributes using custom validation messages in HTML5
HTML5 includes many built-in form validation features, allowing developers to easily add validation to their forms. One of these features is the "required" attribute, which specifies that the input field is required and must be filled in before the form can be submitted.
The "required" attribute is a Boolean attribute. If there are any input fields in the form with the "required" attribute, this field must be filled in before submitting the form.
If this particular field is left blank before submitting the form, the user will see an error message in their browser informing them that this input field is required.
To use the "required" attribute, simply add the attribute to the input field you want to make required -
<html> <body> <form> <label for="name">Name:</label> <input type="text" required> </form> </body> </html>
The browser will verify that the input fields are filled in before submitting the form, and will display an error message if not. Depending on the browser, the default error message may vary, but usually states that the field is required.
We can also change the message for invalid input by specifying a unique message that will be sent to the user when the field is invalid. We can change the default validation message using the "title" attribute -
<html> <body> <form> <label for="name">Name:</label> <input type="text" id="name" required title="Please enter your name"> </form> </body> </html>
This code will display the message "Please enter your name" to the user if the input field is left blank when the form is submitted.
To specify a regular expression that input must match each time a form is filled out, HTML5 provides the "pattern" element in addition to the "title" attribute, allowing programmers to specify a regular expression that input must match in order to be accepted. . If the input does not match the required pattern, the user will see an error notification in the browser
Here is an example of how to use the "pattern" attribute to specify the minimum length of an input field -
<html> <body> <form> <label for="name">Name:</label> <input type="text" required pattern=".{3,}" title="Please enter at least 3 characters"> </form> </body> </html>
If the input does not meet this condition, the message "Please enter at least 3 characters" will be displayed. This code requires the input field to contain at least 3 characters.
Using CSS, you can change the appearance of error messages. By default, error messages are added to input fields as small text nodes and written in red font. However, we can modify the appearance of the error message and control how it appears using CSS.
The ":invalid" pseudo-class can be used to select an input field if it is invalid, and the CSS property can be used to change the style of the error message.
The following is an example of how to customize the error message style using CSS -
<html> <style> input:invalid { border: 2px solid red; } input:invalid + span { color: red; font-weight: bold; } </style> <body> <form> <label for="name">Name:</label> <input type="text" required pattern=".{3,}" title="Please enter at least 3 characters"> </form> </body> </html>
When an input field is invalid, this code turns its border red and displays the error message in bold and red.
Customizing error messages using JavaScript
In addition to using CSS, we can also use JavaScript to customize the error message and control how it is displayed.
To customize the error message using JavaScript, we can use the "setCustomValidity" method, which allows us to specify a custom error message for the input field.
The following is an example of how to set a custom error message using the "setCustomValidity" method -
<html> <body> <h2>JavaScript Validation</h2> <p>Enter a number and click OK:</p> <input id="InputField" type="text" required> <button onclick="myFunction()">OK</button> <p id="demo"></p> <script> function myFunction() { const txt = document.getElementById("InputField").value; console.log(txt); const txtLen = txt.length; console.log(txtLen); if (txtLen<3) { document.getElementById("demo").innerHTML = "Must be atleast 3 characters"; } else { document.getElementById("demo").innerHTML = "Input OK"; } } </script> </body> </html>
This code will set the input field's error message to "Please enter a valid value."
In this article, we looked at how to combine personalized verification messages with the HTML5 "needed" element. We've discussed the basics of form validation, the "needed" tag, and how to leverage JavaScript and CSS to personalize validation messages.
Developers can quickly add form validation to HTML5 forms and ensure that users have provided the necessary information by leveraging the "needed" element and customizing the validation message. Many web applications rely on form validation because it is an important tool to ensure the accuracy and completeness of user input.
The above is the detailed content of Form required attributes using custom validation messages in HTML5. For more information, please follow other related articles on the PHP Chinese website!