希望有人可以对此有所了解。我在Gravity Forms中设置了注册表格,供学生注册。根据法律规定,学生监护人/家长需要同意18岁以下的学生。我已经设置了一个有条件的" Guardian / Parent"电子邮件字段,仅显示学生未满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 );
" 12"在" gform_field_validation_12_3"代表我的form_id和" 3"代表守护者/父母field_id
" 11" in" $ master = rgpost(' input_11');"代表我的学生电子邮件field_id
即使我在两个字段中都有相同的电子邮件,它也不会验证字段并提交表单....
答案 0 :(得分:0)
如果启用了电子邮件确认,您将要更改此行:
if ( $result['is_valid'] && $value == $master ) {
到此:
if ( $result['is_valid'] && $value[0] == $master ) {
问题是,启用电子邮件确认后,$ value是一个数组而不是字符串。您可以从数组中获取第一个值,它应该按预期工作。
如果您不想大惊小怪地知道所有这些,请随意使用我刚才写的这个片段。它还将处理多个字段和多个" unique"字段。
http://gravitywiz.com/gravity-forms-require-unique-values-for-different-fields/