【问题标题】:Custom Validation of Array Value in Quform Wordpress PluginQuform Wordpress 插件中数组值的自定义验证
【发布时间】:2013-10-16 19:31:55
【问题描述】:

我从 codecanyon 购买了 Quform wordpress 插件。插件很棒 - 它允许您为表单创建自定义验证器,如下所示http://support.themecatcher.net/quform-wordpress/guides/customization/creating-a-custom-validator

然而,上面的示例仅处理针对单个值的验证。如果我有 500 个呢?

这是我的代码。

function custom_validator($valid, $value, $element, $rcnumber)
{
    $rcnumber = array('103184','104351','104359','103912','104389','104400','100505','102180','103530','104455','79162','74233','26451','75140','289752','101785','103141','26646','103178','100567','75159','103744','103244','78557','103330','102602'<500 numbers....>,);

    if ($value != $rcnumber) {
        $element->addError('Invalid RC Number');
        $valid = false;
    }
    return $valid;
}
add_filter('iphorm_element_valid_iphorm_14_11', 'custom_validator', 10, 3);

此代码的问题在于,无论我在 rcnumber 字段中输入什么值,我都会不断收到“无效的 RC 编号”错误,即使 rcnubmer 数组中列出的 500 个中的数字也是如此。我究竟做错了什么? 谢谢!

【问题讨论】:

    标签: php arrays wordpress validation plugins


    【解决方案1】:

    不确定你想在这里得到什么,但看起来你想检查一个值是否存在于数组中。

    试试这个:

    if (!in_array($value, $rcnumber))
    

    代替:

    if ($value != $rcnumber)
    

    in_array 函数将在数组中查找一个值,您当前的代码检查 $value 是否与给定数组不同。

    【讨论】:

      猜你喜欢
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      相关资源
      最近更新 更多