我使用以下指南:
http://developer.ninjaforms.com/codex/custom-server-side-validation/
我的代码(忍者形态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,但是在前端,忍者表单“提交”按钮将继续显示“处理”。有什么我遗漏的吗?
忍者表格网站上提供的代码对我也不起作用。
我发现,您应该返回响应而不使用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; }