没有库的自定义验证 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();
}
我想要 isEmailConfirmed
是 null
- 我想创造 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。
我是 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();
}
我想要 isEmailConfirmed
是 null
- 我想创造 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。