首页 > 解决方案 > Gravity Forms Field如何实现IMEI验证功能

问题描述

我正在做一个重力表单的小项目,我需要使用我在 stackoverflow 上找到但仍然没有得到的公式之一对文本字段进行 IMEI 验证。

在重力表单文档上说我可以执行 gform_field_validation 但是当我尝试输入自定义函数时,我做错了

这是用于字段验证的文档网站

https://docs.gravityforms.com/gform_field_validation/

add_filter( 'gform_field_validation_1_49', 'custom_validation', 10, 4 );

函数 custom_validation( $imei, $result, $value = true, $form, $field ) {

if ( $result['is_valid'] && intval( $value ) > 10 ) {
    $result['is_valid'] = false;
    $result['message'] = 'Please enter a value less than 10';
}
return $result;

}

这是验证imei号码(15位)的功能:

function validate_imei($imei){
if (!preg_match('/^[0-9]{15}$/', $imei)) return false;
$sum = 0;
for ($i = 0; $i < 14; $i++)
{
    $num = $imei[$i];
    if (($i % 2) != 0)
    {
        $num = $imei[$i] * 2;
        if ($num > 9)
        {
            $num = (string) $num;
            $num = $num[0] + $num[1];
        }
    }
    $sum += $num;
}
if ((($sum + $imei[14]) % 10) != 0) return false;
return true;

}

但仍然没有成功,你能指导我在哪里做错了吗?

先感谢您

标签: phpwordpressgravityforms

解决方案


推荐阅读