php - 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;
}
但仍然没有成功,你能指导我在哪里做错了吗?
先感谢您
解决方案
推荐阅读
- reactjs - 构造函数中的 React 函数绑定返回未定义
- pycharm - JetBrains ToolBox 无法更新 Pycharm
- r - R中的pivot_longer并将名称列的列类型指定为日期
- python - 无法从模块导入模块
- .htaccess - Mod_rewrite PHP 将所有 URL 指向 index.php
- python - pip install jupyterlab 在 Python 3.8 环境中失败,Windows
- r - 用户可以在 DT R Shiny 中编辑标题后下载表格
- asp.net-core - Blazor 托管 - 在显示应用程序之前立即授权
- node.js - Socket.io 向用户 ID 数组发出事件
- python - 如何大规模优化 PySpark 中整个数据帧中两个列表列之间的笛卡尔对聚合?