没有库的自定义验证 phalcon

custom validation phalcon without library

我是 PHP 和 phalcon 的初学者,我想使用自定义验证并创建默认值。

我的控制器是:

use Phalcon\Mvc\Controller;

class OspoController extends Controller
{

    public function indexAction()
    {

    }

    public function createAction()
    {

        $ospo = new Ospos();

        // Store and check for errors
        $success = $ospo->save(
            $this->request->getPost(),
            array('isEmailConfirmed', 'email', 'password', 'salt' ,'phoneNum', 'verifiedPhoneStatus', 'languageId', 'firstName', 'lastName', 'address', 'cityId', 'provId', 'countryId', 'postCode')
        );
        $data = array();
        if ($success) {
            $data[] = array(
                'status' => 'success'
            );
            echo json_encode($data);
        } else {
            foreach ($ospo->getMessages() as $message) {
                $msg = $message->getMessage();
                $data[] = array(
                    'message' => $msg
                );

            }
            echo json_encode($data);
        }

        $this->view->disable();
    }

我想要 isEmailConfirmednull - 我想创造 isEmailConfirmed = 0;

的价值

如何更改 getPost() 的数组值?

(我可以这样做吗)我应该更改代码吗 $isEmailConfirmed = $_POST['isEmailConfirmed'];

$ospo->save($isEmailConfirmed, $etc, $etc)?

谢谢。

首先,您可以只将 POST 数据存储在一个变量中。然后只需检查 null 并在保存前根据需要分配默认值。

$data = $this->request->getPost();
if (!isset($data['isEmailConfirmed']) {
    $data['isEmailConfirmed'] = 0;
} 

另一种方法是保存空值,但在这种情况下,您应该为数据库中的该列设置 DEFAULT table。