重力形式在数字字段上进行验证

时间:2014-09-03 16:30:42

标签: php wordpress forms gravity-forms-plugin

重力表格电话号码字段应该验证电话号码,但如果字段选项设置为“国际”,则表单提交字段中的数据是标准字符。

下面的代码挂钩到我的表单和特定字段,但是我遇到了如何检查字段字符串是否为数字的问题。

// add custom validation to the gravity forms plugin to validate "phone number" field
add_filter("gform_field_validation_2_4", "custom_validation", 10, 4);

function custom_validation($result, $value, $form, $field){

if($result["is_valid"] && intval($value)){

$result["is_valid"] = false;

$result["message"] = "Please enter a valid telephone number";

}
return $result;
}

感谢您的建议和反馈。

谢谢, JB。

1 个答案:

答案 0 :(得分:3)

为什么不尝试使用正则表达式?它适用于这种情况。例如(未经测试):

// add custom validation to the gravity forms plugin to validate "phone number" field
add_filter("gform_field_validation_2_4", "custom_validation", 10, 4);

function custom_validation($result, $value, $form, $field){

    if(!preg_match('~^\d+$~', $value)){
        $result["is_valid"] = false;
        $result["message"] = "Please enter a valid telephone number";
    }

    return $result;
}