如何使Gravity Forms名称字段输入只接受字母
How to make Gravity Forms name field input only accept letters
如何让gravity form name字段只接受字母,数字应该报错。
您需要使用 gform_field_validation 验证过滤器才能在表单提交之前执行这种 validation
。
此外,我们需要使用 PHP 的 preg_match 函数和 regex
来确保我们只从 Full 中获取 Letters命名输入值。
只需将此代码添加到您的活动主题 functions.php 文件中:(代码已测试并有效)
add_filter( 'gform_field_validation', function ( $result, $value, $form, $field ) {
if ( $field->type == 'name' ) {
// Input values
$fullName = rgar( $value, $field->id . '.3' );
if ( empty( $fullName )) {
$result['is_valid'] = false;
$result['message'] = empty( $field->errorMessage ) ? __( 'This field is required. Please enter a complete name.', 'gravityforms' ) : $field->errorMessage;
} else if (preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/', $fullName)) { //check for letters only
$result['is_valid'] = false;
$result['message'] = empty( $field->errorMessage ) ? __( 'Full name must ony contains letters.', 'gravityforms' ) : $field->errorMessage;
} else {
$result['is_valid'] = true;
$result['message'] = '';
}
}
return $result; //return results
}, 10, 4 );
如何让gravity form name字段只接受字母,数字应该报错。
您需要使用 gform_field_validation 验证过滤器才能在表单提交之前执行这种 validation
。
此外,我们需要使用 PHP 的 preg_match 函数和 regex
来确保我们只从 Full 中获取 Letters命名输入值。
只需将此代码添加到您的活动主题 functions.php 文件中:(代码已测试并有效)
add_filter( 'gform_field_validation', function ( $result, $value, $form, $field ) {
if ( $field->type == 'name' ) {
// Input values
$fullName = rgar( $value, $field->id . '.3' );
if ( empty( $fullName )) {
$result['is_valid'] = false;
$result['message'] = empty( $field->errorMessage ) ? __( 'This field is required. Please enter a complete name.', 'gravityforms' ) : $field->errorMessage;
} else if (preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/', $fullName)) { //check for letters only
$result['is_valid'] = false;
$result['message'] = empty( $field->errorMessage ) ? __( 'Full name must ony contains letters.', 'gravityforms' ) : $field->errorMessage;
} else {
$result['is_valid'] = true;
$result['message'] = '';
}
}
return $result; //return results
}, 10, 4 );