Fluent Forms – Custom Phone Field Validation

Stop spam in Fluent Forms: Adding Custom Phone Field Validation

Fluent Forms is a powerful WordPress plugin that simplifies form creation, offering a range of features for building dynamic and interactive forms. While its default validation options are robust, there are times when you may need to add custom validation for specific fields, such as Tel fields. In this article, we’ll explore how to enhance your Fluent Forms by adding custom Tel field validation.

Why Custom Validation for Tel Fields?

Phone fields, commonly used for phone numbers, often require specific validation criteria based on regional formats or business requirements. By implementing custom validation, you can ensure that the phone numbers submitted through your forms meet your specific criteria, enhancing data accuracy and user experience, and most importantly, blocking spam.

Adding Custom Validation with Fluent Forms

To add custom validation for Tel fields in Fluent Forms, we’ll leverage the plugin’s filter hooks to intercept the form submission and validate the Tel field data before processing it further.

// Add custom validation for Tel fields
function maspik_custom_validate_fluentforms_tel($errorMessage, $field, $formData, $fields, $form) {
    $fieldName = $field['name'];
    if (empty($formData[$fieldName])) {
        return $errorMessage; // Return original error message if field is empty
    }
    $field_value = strtolower($formData[$fieldName]);

    // Custom Tel field validation
    $valid = checkTelForSpam($field_value); // Implement your custom Tel validation logic here

    if (!$valid) {
        $errorMessage = "Invalid phone number format"; // Set custom error message for invalid input
    }

    return $errorMessage;
}
add_filter('fluentform/validate_input_item_phone', 'maspik_custom_validate_fluentforms_tel', 10, 5);

Understanding the Code

We define a custom function maspik_custom_validate_fluentforms_tel that accepts the default error message, field details, form data, field definitions, and the form object.

Within the function, we extract the Tel field’s name and value from the form data.

We then perform custom validation using preg_match('/^\d{9,13}$/', $field_value) !== 1, which checks if the Tel field value consists of 9 to 13 digits only. This ensures the Tel field’s length meets the specified criteria.

If the Tel field does not pass the custom validation (i.e., if it does not match the pattern), we modify the error message to provide feedback to the user about the invalid input.

Implementing Your Custom Validation Logic

The preg_match method used in the code snippet represents your custom Tel field validation logic. It validates the format and length of the Tel field value against the specified pattern.

Depending on your specific needs, you can modify the regular expression pattern to enforce different length criteria or additional formatting rules for phone numbers.

Conclusion

By adding custom validation for Tel fields in Fluent Forms, you can tailor the form submission process to meet your specific requirements and ensure data accuracy.

Whether you need to enforce regional formatting rules or implement business-specific validation criteria, custom validation empowers you to create forms that collect accurate and reliable information from your users.

Here’s how you can apply the provided code to add custom validation for Tel fields in Fluent Forms:

  1. Application:
    • Copy the Code: Copy the provided PHP code snippet.
    • Paste in (Child) Theme’s Functions.php: Paste the copied code into your theme’s functions.php file. You can access this file via Appearance > Theme Editor in your WordPress dashboard.
    • Save Changes: After pasting the code snippet, make sure to save the changes to the functions.php file.
  2. Testing:
    • Form Submission: Test the form submission functionality to verify that the custom validation for Tel fields is working as expected.
    • Validation Feedback: Verify that when users input Tel numbers with fewer than 9 or more than 13 digits, they receive the custom error message indicating the required format.
  3. Adjustments (if necessary):
    • Custom Error Message: If you want to customize the error message further, you can modify the string "Please enter a valid phone number with 9 to 13 digits." within the code to suit your requirements.
  4. Finalization:
    • Publish Changes: Once you’ve tested and confirmed that the custom validation is functioning correctly, you can finalize the changes by ensuring the functions.php file is saved and the website is updated.

By following these steps, you can effectively apply the provided code to add custom validation for Tel fields in Fluent Forms on your WordPress website.

Simplify Your Spam Protection with Maspik Plugin

If you prefer not to deal with PHP coding or custom validations, you can simplify spam protection for your Fluent Forms and other WordPress forms by using the Maspik plugin. Maspik offers a user-friendly interface with various options to block spam effectively without the need for any manual code implementation. With its intuitive settings page, Maspik allows you to configure spam prevention measures tailored to your specific requirements, ensuring a hassle-free experience while safeguarding your forms from unwanted submissions.

Get Maspik PRO for Free: Share Your Expertise!