Create Custom Menu in WordPress Dashboard
Complete tutorial on create custom menu in wordpress dashboard. Discover practical examples, implementation tips, and expert advice for WordPress and WooCo
Read More โBuild secure forms with combined client-side jQuery validation and WordPress server-side verification. Use jQuery validate plugin for instant feedback with required, minlength, email, and equalTo rules, implement remote validation for checking username and email existence in WordPress database with AJAX, create custom validation methods with addMethod for specific requirements like no numeric characters, verify data server-side with WordPress functions like username_exists and email_exists, and ensure complete form security with dual-layer validation.
In this tutorial, we will explore how to implement both client-side and server-side form validation using jQuery and WordPress functions. By combining jQuery's validation plugin with WordPress' backend checks, we can ensure data integrity and improve user experience. Below is a detailed guide to create and validate form fields such as username, email, password, and confirm password. Step 1: Load jQuery and Validation Plugin Ensure that jQuery and the jQuery Form Validator are included in your project:
<!-- jQuery library --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- jQuery Form Validator --> <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
Step 2: Build Your Form Set up a simple HTML form for validation:
<form id="registrationForm"> <label for="username">Username:</label> <input type="text" name="username" id="username" required pattern="[A-Za-z0-9_]+"> <label for="email">Email:</label> <input type="email" name="email" id="email" required> <label for="password">Password:</label> <input type="password" name="password" id="password" required minlength="6"> <label for="confirmPassword">Confirm Password:</label> <input type="password" name="confirmPassword" id="confirmPassword" required equalTo="#password"> <button type="submit">Register</button> </form>
Step 3: Apply Validation Rules Utilize the validate() method to apply rules for form fields:
<script>
$(document).ready(function() {
$("#registrationForm").validate({
rules: {
username: {
required: true,
pattern: /^[A-Za-z_]+$/,
remote: {
url: ajaxurl,
type: "post",
data: {
action: "check_username_exists",
username: function() {
return $("#username").val();
}
}
}
},
email: {
required: true,
email: true,
remote: {
url: ajaxurl,
type: "post",
data: {
action: "check_email_exists",
email: function() {
return $("#email").val();
}
}
}
},
password: {
required: true,
minlength: 6
},
confirmPassword: {
required: true,
equalTo: "#password"
}
}
});
});
</script>
Step 4: Add Custom Validation For advanced validation, such as preventing numeric values in usernames, we can use the addMethod function from jQuery:
<script>
$.validator.addMethod("noNumeric", function(value, element) {
return this.optional(element) || /^[^0-9]+$/i.test(value);
}, "No numeric values allowed.");
</script>
Step 5: Server-Side Checks in WordPress Add WordPress hooks for checking username and email existence:
// Check if username exists
add_action('wp_ajax_check_username_exists', 'check_username_exists');
function check_username_exists() {
$username = $_POST['username'];
echo username_exists($username) ? 'false' : 'true';
exit;
}
This combination of client-side and server-side validation ensures that form data is properly validated both before and after submission, securing your forms against errors and malicious input. 
Search our archives or reach out to our team for solutions and expert advice.