【发布时间】:2015-05-01 18:15:05
【问题描述】:
我有一个强大的 pro form 字段,设置了一个过滤器,用于在有人输入数字时测试该字段。如果数字在可接受的范围内(在本例中为 200-300),则表单将提交,否则,表单将报告错误。我需要设置过滤器,以便它比较两个或多个范围集,而不仅仅是一个,但我不明白如何设置第二个甚至第三个范围。有两个或三个要比较的数组范围,它需要功能相同。
add_filter('frm_validate_field_entry', 'my_custom_validation', 10, 3);
function my_custom_validation($errors, $posted_field, $posted_value){
if($posted_field->id == 92){
if(!in_array($posted_value, range(200,300) ) ){
//if it doesn't match up, add an error:
$errors['field'. $posted_field->id] = 'You have entered an invalid number!';
}
}
return $errors;
}
我尝试设置两个 if(!in_array... 语句,但我不太了解 PHP,无法正确获取数组范围比较的语法。请帮助我了解如何完成这项工作。谢谢!
【问题讨论】: