gform_validation_message

Description

This filter is executed when a form fails validation, before the validation message is displayed. Use this filter to change the default validation message.

Usage

Applies 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. (format: gform_validation_message_FORMID)

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

Parameters

  • $message string

    The validation message to be filtered.

    "<div class='validation_error'>" . esc_html__( 'There was a problem with your submission.', 'gravityforms' ) . ' ' . esc_html__( 'Errors have been highlighted below.', 'gravityforms' ) . '</div>'

  • $form Form Object

    The current form.

Examples

1. Include form title in message

This example uses the gform_validation_message filter to change the default validation message.

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

2. Include field 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 );

Placement

This code should be placed in the functions.php file of your active theme.

Source Code

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