前端post表单问题


frontend post form issue

我在前端有一个帖子表单,用户可以从表单发布(post_type = product)。作为它的一部分,我已经尝试实现一些服务器端验证如下面的代码。问题是,所有的验证都工作得很好,但即使在验证失败的情况下,数据也在表单提交时得到保存。理想情况下,当存在字段验证失败时,表单提交应该失败。我不确定$hasError = true是否工作,可能有一个非常简单的逻辑,我错过了,我没有得到。对此有什么帮助吗?

提前感谢。

$postTitleError = '';
    if (isset($_POST['submitted']) && isset($_POST['post_nonce_field']) && wp_verify_nonce($_POST['post_nonce_field'], 'post_nonce')) {
        if (trim($_POST['postTitle']) === '') {
            $postTitleError = 'msg 1';
            $hasError = true;
        }
        if (trim($_POST['postCat1']) === '') {
            $postTitleError = 'msg2';
            $hasError = true;
        }
        if (trim($_POST['postPrice']) === '') {
            $postTitleError = 'msg3';
            $hasError = true;
        }
        if (trim($_POST['postTime']) === '') {
            $postTitleError = 'msg4';
            $hasError = true;
        }
        if (trim($_POST['postTimeMin']) === '') {
            $postTitleError = 'msg5';
            $hasError = true;
        }
        if (trim($_POST['postContent']) === '') {
            $postTitleError = 'msg6';
            $hasError = true;
        }
<?php
        //$postTitleError = '';
        $resultArr = array();
        $error_msg = false;
    if (isset($_POST['submitted']) && isset($_POST['post_nonce_field']) && wp_verify_nonce($_POST['post_nonce_field'], 'post_nonce')) {
        if (isset($_POST['postTitle'])  && !empty($_POST["postTitle"])) {
            //$postTitleError = 'msg 1';
            //$hasError = true;
            $postTitle=$_POST['postTitle'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postTitle']= "msg 1";
            $error_msg = true;
        }
        if (isset($_POST['postCat1']) && !empty($_POST["postCat1"]) ) {
           // $postTitleError = 'msg2';
           // $hasError = true;
           $postCat1=$_POST['postCat1'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postCat1']= "msg2";
            $error_msg = true;
        }

        if (isset($_POST['postPrice']) && !empty($_POST["postPrice"]) ) {
           // $postTitleError = 'msg3';
            //$hasError = true;
            $postPrice=$_POST['postPrice'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postPrice']= "msg3";
            $error_msg = true;
        }

        if (isset($_POST['postTime']) && !empty($_POST["postTime"]) ) {
            //$postTitleError = 'msg4';
            //$hasError = true;
            $postTime=$_POST['postTime'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postTime']= "msg4";
            $error_msg = true;
        }

        if (isset($_POST['postTimeMin']) && !empty($_POST["postTimeMin"]) ) {
           // $postTitleError = 'msg5';
           // $hasError = true;
           $postTimeMin=$_POST['postTimeMin'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postTimeMin']= "msg5";
            $error_msg = true;
        }

        if (isset($_POST['postContent']) && !empty($_POST["postContent"]) ) {
            //$postTitleError = 'msg6';
           // $hasError = true;
           $postContent=$_POST['postContent'];
        }
        else
        {
            $resultArr['status'] = 'failure';
            $resultArr['error_msg_postContent']= "msg6";
            $error_msg = true;
        }
        if($error_msg == false)
        {
            //here publish post code 
        }
        else
        {
            //here Error message prine
        }
?>