wordpress - 如何获取“ninja_forms_submit_data”和表单本身以返回错误响应?
问题描述
我正在使用以下指南:
http://developer.ninjaforms.com/codex/custom-server-side-validation/
我的代码(Ninja Forms 3.3.7 版):
add_filter( 'ninja_forms_submit_data', 'my_ninja_forms_submit_data' );
function my_ninja_forms_submit_data( $form_data ) {
$errors = [
'form' => [
'my-error' => __( 'An unexpected error occurred.', 'my-plugin' ),
]
];
$response = [
'errors' => $errors,
];
echo wp_json_encode( $response );
wp_die(); // this is required to terminate immediately and return a proper response
}
我可以看到 JSON 通过就好了,但是在前端,忍者表单的“提交”按钮将继续显示“处理中”。有什么我想念的吗?
解决方案
Ninja forms 网站中提供的代码也不适用于我。
我发现,您应该返回响应并且没有 JSON 编码。我也无法显示“表单错误”,只是“字段错误”。不完美,但有效:
add_filter( 'ninja_forms_submit_data', 'my_ninja_forms_submit_data' );
function my_ninja_forms_submit_data( $form_data ) {
$errors = [
'fields' => [
'5' => __( 'An unexpected error occurred.', 'my-plugin' ),
]
]; // '5' is field's id.
$response = [
'errors' => $errors,
];
return $response;
}
推荐阅读
- azure-iot-sdk - azure-iot-sdk-c - 在纯静态分配的内存环境中使用 Azure IoT 设备 SDK C
- python-3.x - Python 3:导入浮点文件并为它们提供唯一标识符以进行绘图
- java - Gradle:如何在多模块项目中设置主模块?
- mysql - MYsql查询底部显示数量为0的产品
- javascript - 具有封闭 shadowRoot 的登录表单需要保护
- c# - 为什么 ASP.NET 在抛出 HttpRequestValidationException 时不会在 Global.asax.cs 中输入 Application_Error?
- storyboard - 第一个故事板要显示
- python-3.x - 静默安装 Python
- sql - 根据条件过滤掉某些行
- html - CSS在表单标签中不起作用