我有一个过滤/验证脚本,该脚本仅接受来自特定域的电子邮件。这工作得很好,但是我需要将其放在输入ID中的特定位置上:
根据https://docs.gravityforms.com/gform_field_validation/#11-email-validation-by-third-party-api#usage:
您还可以通过添加表单ID和字段来定位特定字段 挂钩名称后的id。
//The following declaration targets field 1 in form 6 add_filter(
'gform_field_validation_6_1', 'your_function_name', 10, 4 );
当前我的代码如下:
add_filter( 'gform_field_validation', function ( $result, $value, $form, $field ) {
if ( ! $result['is_valid'] && $field->get_input_type() === 'email' && strpos($field->get_field_input(), 'company.com') === true) {
$result['is_valid'] = true;
$result['message'] = '';
} else {
$result['is_valid'] = false;
$result['message'] = 'E-Mail must be a company.com address';
}
return $result;
}, 10, 4 );
我的表单和输入ID分别确认为1和13:
当我将代码更改为以下代码时,脚本停止工作:
add_filter( 'gform_field_validation_13_1', function ( $result, $value, $form, $field ) {
if ( ! $result['is_valid'] && $field->get_input_type() === 'email' && strpos($field->get_field_input(), 'company.com') === true) {
$result['is_valid'] = true;
$result['message'] = '';
} else {
$result['is_valid'] = false;
$result['message'] = 'E-Mail must be a company.com address';
}
return $result;
}, 10, 4 );
还有其他方法需要检查我的表单ID吗?这里缺少什么?
答案 0 :(得分:1)
文档gform_field_validation_6_1
中的文档表示它以field 1
中的form 6
为目标。
您的表单ID为1,输入字段ID为13,因此过滤器应为gform_field_validation_1_13
。