Custom form validation

时间:2017-11-07 作者:Alexander Holsgrove

我已经创建了一个基本表单,可以发布到admin-post.php 并通过AJAX调用提交给admin-ajax.php. 两个提交都正确,请使用nonce 为了多一点安全性,我可以根据需要处理数据。

我的问题是,如何将常规表单发布到admin-post.php, 要使用成功消息字符串或错误(可能是字符串或无效表单字段条目数组)将消息发送回表单,请执行以下操作:?通过AJAX调用,我可以简单地回显json编码的响应。

我知道没有设置会话,除非我手动调用session_start() 而且使用globals也不理想。是否有其他类型的存储或系统可用于传递这些消息?

我用过transients 之前-这些是否合适?我知道瞬态数据在任何给定时刻都可能不可用,所以可能不可用?

我可以用WP_Error

1 个回复
SO网友:jaswrks

是的,您将使用包含error 所有物

<?php
echo json_encode( [
    \'error\' => [
        \'code\'    => \'my_error_code\',
        \'message\' => \'My error message.\',
        \'data\'    => [any additional data you need],
    ],
] );
您的AJAX回调应该查找error 并相应地进行调整。

对于常规帖子,您需要生成HTML标记,以生成WP Notice, 或者生成将作为通知样式的标记。请参见:Complete Guide to Notices

结束

相关推荐

提交后重力表单-GFFormsModel::UPDATE_LEAD_FIELD_VALUE?

我在研究重力形态。此代码处理以下几个问题:add_action(\'gform_after_submission_14\', \'post_contract_update\', 10, 2); function post_contract_update($entry, $form) { $form =\'3\'; $lead = $entry[\'4\']; $statusvalue_update = \'Under Contract\';