The gform_duplicate_message filter allows you to modify the message displayed when a field fails duplicate value validation in Gravity Forms.
Usage
To apply this filter to all fields using the “No Duplicates” feature on all forms:
add_filter('gform_duplicate_message', 'your_function_name', 10, 4);
To target a specific form, append the form ID to the hook name (format: gform_duplicate_message_FORMID):
add_filter('gform_duplicate_message_5', 'your_function_name', 10, 4);
Parameters
- $message (string): The validation message to be filtered.
- $form (Form Object): The current form.
- $field (Field Object): Current Field object.
- $value (string): The field value being validated.
More information
See Gravity Forms Docs: gform_duplicate_message
Examples
Use the same message for all fields
Change the default “No Duplicates” validation message:
add_filter('gform_duplicate_message', 'change_message', 10, 2);
function change_message($message, $form) {
return 'This field failed the duplicate value validation. Please enter a different value.';
}
Use the field’s custom validation message
Use the field’s custom validation message as the “No Duplicates” validation message:
add_filter('gform_duplicate_message', function($message, $form, $field) {
return empty($field->errorMessage) ? $message : $field->errorMessage;
}, 10, 3);
Custom message for a specific form
Change the duplicate message for a specific form (Form ID: 5):
add_filter('gform_duplicate_message_5', 'change_message_for_form_5', 10, 4);
function change_message_for_form_5($message, $form, $field, $value) {
return 'Duplicate value detected. Please enter a unique value.';
}
Custom message for a specific field
Change the duplicate message for a specific field (Field ID: 3):
add_filter('gform_duplicate_message', 'change_message_for_field_3', 10, 4);
function change_message_for_field_3($message, $form, $field, $value) {
if ($field->id == 3) {
return 'This value is already in use. Please try a different one.';
}
return $message;
}
Custom message based on field type
Change the duplicate message for a specific field type (e.g., Email fields):
add_filter('gform_duplicate_message', 'change_message_for_email_fields', 10, 4);
function change_message_for_email_fields($message, $form, $field, $value) {
if ($field->type == 'email') {
return 'This email address is already in use. Please try a different one.';
}
return $message;
}
Note: Place the code in the functions.php file of your active theme.