Phalcon PHP:确定是否在模型验证方法中创建或更新
我在Phalcon创建了一个模型。其中有一个validation()方法。在创建记录时,我希望确保记录获得名称,但我不希望在更新时需要这样做。我如何用Phalcon确定这一点?在Phalcon的文章中描述得更好Phalcon PHP:确定是否在模型验证方法中创建或更新,php,validation,model,phalcon,Php,Validation,Model,Phalcon,我在Phalcon创建了一个模型。其中有一个validation()方法。在创建记录时,我希望确保记录获得名称,但我不希望在更新时需要这样做。我如何用Phalcon确定这一点?在Phalcon的文章中描述得更好 在Phalcon的书中描述得更好 您可以在名为beforeValidationOnCreate或beforeCreate的函数中执行验证,它只在创建时被命中,而不在更新时被命中 public function beforeValidationOnCreate() { //Do t
在Phalcon的书中描述得更好
您可以在名为beforeValidationOnCreate或beforeCreate的函数中执行验证,它只在创建时被命中,而不在更新时被命中
public function beforeValidationOnCreate()
{
//Do the validations
}
或
请查看下面的链接,以了解您可以使用的更多事件:
希望这接近您所需要的功能您可以在名为beforeValidationOnCreate或beforeCreate的函数中执行验证,它只在创建时受到影响,而不在更新时受到影响
public function beforeValidationOnCreate()
{
//Do the validations
}
或
请查看下面的链接,以了解您可以使用的更多事件:
希望这接近您需要的如果您有更复杂的内容,并且希望对创建和更新使用相同的“验证”方法,您可以这样做:
public function beforeValidationOnCreate()
{
$this->_isCreate = 1;
}
public function beforeValidationOnUpdate()
{
$this->_isCreate = 0;
}
public function validation()
{
if ($this->_isCreate) {
// ...
} else {
// ...
}
}
如果您有更复杂的内容,并且希望对创建和更新使用相同的“验证”方法,则可以执行以下操作:
public function beforeValidationOnCreate()
{
$this->_isCreate = 1;
}
public function beforeValidationOnUpdate()
{
$this->_isCreate = 0;
}
public function validation()
{
if ($this->_isCreate) {
// ...
} else {
// ...
}
}
你的验证码是什么?此外,模型是否会覆盖更新时的所有值,即,如果未指定名称,您是否正在处理在
name
列中以null
结尾的场景?您的验证程序代码是什么?此外,模型是否会覆盖更新时的所有值,也就是说,如果未指定名称,您是否正在处理在name
列中以null
结尾的场景?嘿-我感谢您的回答!我认为这个特性的目的是允许数据库设置默认值(比如当前的时间戳等),以避免Phalcon要求数据库字段定义为非空的问题。不过,谢谢你给我指出这一点。我高估了你:)嘿-我很感激你的回答!我认为这个特性的目的是允许数据库设置默认值(比如当前的时间戳等),以避免Phalcon要求数据库字段定义为非空的问题。不过,谢谢你给我指出这一点。我投票给你:)