ale*_*e91 2 wordpress ninja-forms
我在 WordPress 安装中使用 Ninja Form 插件。
我的表单有 3 个输入文本字段。
在按下提交按钮后,我需要通过检查输入的值是否存在于我的数据库的自定义表中来验证此输入之一。
如果该值不存在,则不应发生任何事情(Ninja Form 保存表单),如果存在,我需要添加 Ninja Form 错误并让用户更改输入以使用新值保存表单。
如何挂钩提交操作?我怎样才能在这个钩子中获得我需要的输入值?如果该值存在,如何添加 Ninja Form 错误以防止表单保存?
小智 5
你可以使用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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |