【发布时间】:2015-09-08 21:02:15
【问题描述】:
希望有人能对此有所了解。我在 Gravity Forms 中设置了一个注册表,用于学生注册。根据法律规定,学生监护人/家长需要同意 18 岁以下的学生。我设置了一个有条件的“监护人/家长”电子邮件字段,仅显示学生是否未满 18 岁。
因此表单中存在 X2 电子邮件字段,一个用于学生,一个用于监护人/父母。提交表格后,激活邮件仅发送到监护人电子邮件地址。
我的问题是,目前同一电子邮件地址可以在监护人/家长和学生电子邮件中噘嘴。我想验证 2 个电子邮件字段并确保它们不相同。
我尝试了以下,但完全没有效果。
add_filter( 'gform_field_validation_12_3', function ( $result, $value, $form, $field ) {
$master = rgpost( 'input_11' );
if ( $result['is_valid'] && $value == $master ) {
$result['is_valid'] = false;
$result['message'] = 'Please enter a different email.';
}
return $result;
}, 10, 4 );
“gform_field_validation_12_3”中的“12”代表我的form_id,“3”代表监护人/父母field_id
“$master = rgpost('input_11');”中的“11”代表我的学生电子邮件 field_id
即使我在两个字段中都有相同的电子邮件,它也不会验证字段并提交表单......
【问题讨论】:
-
您确定您的 ID 正确吗?我尝试了相同的代码,只更改了表单 ID 和字段 ID,它按预期工作。您也可以尝试简化形式,以确保没有其他干扰。
-
让它工作,似乎验证不喜欢打开电子邮件验证(电子邮件输入两次)时。有没有办法解决这个问题,仍然有电子邮件验证?
标签: forms validation compare field gravity