Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 带有错误句柄的自定义验证忍者表单_Wordpress_Ninja Forms - Fatal编程技术网

Wordpress 带有错误句柄的自定义验证忍者表单

Wordpress 带有错误句柄的自定义验证忍者表单,wordpress,ninja-forms,Wordpress,Ninja Forms,我正在WordPress安装中使用忍者表单插件 我的表单有3个输入文本字段 在按下submit按钮后,我需要通过检查数据库中的自定义表中是否存在输入的值来验证其中一个输入 如果该值不存在,则不会发生任何事情(忍者表单保存表单),如果存在,我需要添加忍者表单错误,并让用户更改输入,以便使用新值保存表单 如何连接提交操作?我怎样才能在这个钩子里得到我需要的输入值?如果存在值,如何添加忍者表单错误以防止表单保存?您可以使用忍者表单提交数据钩子来执行此操作。在这里,您可以通过变量$form\u data

我正在WordPress安装中使用忍者表单插件

我的表单有3个输入文本字段

在按下submit按钮后,我需要通过检查数据库中的自定义表中是否存在输入的值来验证其中一个输入

如果该值不存在,则不会发生任何事情(忍者表单保存表单),如果存在,我需要添加忍者表单错误,并让用户更改输入,以便使用新值保存表单


如何连接提交操作?我怎样才能在这个钩子里得到我需要的输入值?如果存在值,如何添加忍者表单错误以防止表单保存?

您可以使用
忍者表单提交数据
钩子来执行此操作。在这里,您可以通过变量
$form\u data
使用字段id访问字段的值。将字段的错误消息添加到
$form\u data['errors']
时,将不会保存表单

像这样(在
functions.php
中):


谢谢你!错误直接返回到字段,这是最好的方法!如何返回通用表单错误?我想返回一个与任何特定字段无关的错误。我只想在表单底部显示一个错误。
add_filter('ninja_forms_submit_data', 'custom_ninja_forms_submit_data');
function custom_ninja_forms_submit_data($form_data)
{
    $field_id = 2;
    $field_value = $form_data['fields'][$field_id]['value'];

    $exists = true; // Check your database if $field_value exists

    if($exists)
    {
        $form_data['errors']['fields'][$field_id] = 'Value already exists';
    }

    return $form_data;
}