我在 WordPress 安装中使用 Ninja Form 插件。
我的表单有 3 个输入文本字段。
在按下提交按钮后,我需要通过检查输入的值是否存在于我的数据库中的自定义表中来验证此输入之一。
如果该值尚不存在,则不会发生任何情况(Ninja Form 保存表单),如果存在,我需要添加 Ninja Form 错误并让用户更改输入,以便使用新值保存表单。
如何挂钩提交操作?我怎样才能在这个钩子中获得我需要的输入值?如果该值存在,如何添加 Ninja Form 错误以阻止表单保存?
您可以使用ninja_forms_submit_data
钩。在那里,您可以通过变量使用字段的 id 来访问字段的值$form_data
。为该字段添加错误消息时$form_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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)