Using Gravity Forms ‘gform_validation_message’ PHP filter

The gform_validation_message Gravity Forms filter allows you to change the default validation message that is displayed when a form fails validation.

Usage

To apply the filter to all forms:

add_filter('gform_validation_message', 'your_function_name', 10, 2);

To limit the scope of your function to a specific form, append the form ID to the end of the hook name:

add_filter('gform_validation_message_5', 'your_function_name', 10, 2);

Parameters

  • $message (string): The validation message to be filtered. Defaults to the standard validation message.
  • $form (Form Object): The current form.

More information

See Gravity Forms Docs: gform_validation_message

Source Code: This filter is located in GFFormDisplay::get_form() in form_display.php.

Examples

Include form title in message

Change the default validation message to include the form title:

add_filter('gform_validation_message', 'change_message', 10, 2);
function change_message($message, $form) {
    return "<div class='validation_error'>Failed Validation - " . $form['title'] . '</div>';
}

Include field validation errors

Display a list of fields with their corresponding validation errors:

add_filter('gform_validation_message', function ($message, $form) {
    if (gf_upgrade()->get_submissions_block()) {
        return $message;
    }
    $message = "<div class='validation_error'><p>There was a problem with your submission. Errors have been highlighted below.</p>";
    $message .= '<ul>';
    foreach ($form['fields'] as $field) {
        if ($field->failed_validation) {
            $message .= sprintf('<li>%s - %s</li>', GFCommon::get_label($field), $field->validation_message);
        }
    }
    $message .= '</ul></div>';

    return $message;
}, 10, 2);