跳过Kohana 3.3中的ORM验证
如何跳过特定orm保存的验证而不删除orm模型规则函数跳过Kohana 3.3中的ORM验证,orm,kohana,Orm,Kohana,如何跳过特定orm保存的验证而不删除orm模型规则函数 我正在使用kohana 3.3查看规则()方法。您可以轻松添加自定义检查,如下所示: // required by default protected $_validation_required = TRUE; public function rules() { if ($this->validation_required()) { // return all model rules
我正在使用kohana 3.3查看
规则()
方法。您可以轻松添加自定义检查,如下所示:
// required by default
protected $_validation_required = TRUE;
public function rules()
{
if ($this->validation_required())
{
// return all model rules
return array(
// default rules here
);
// or
// if extending model with existing rules
return parent::rules();
}
else
{
// skip validation
return array();
}
}
public function validation_required($required = TRUE)
{
if ($required === NULL)
{
// work as getter
return $this->_validation_required;
}
// set value
$this->_validation_required = (bool)$required;
return $this;
}
当然,您可以使用不同事件(插入/更新等)的自定义规则扩展此代码
PS。另外,当
$this->validation\u required()==TRUE时,您可以重写check()
方法并返回TRUE
。但是我宁愿发送空规则(因为rules()
是专门为定制而设计的,而check()
是一种系统方法)。请查看rules()
方法。您可以轻松添加自定义检查,如下所示:
// required by default
protected $_validation_required = TRUE;
public function rules()
{
if ($this->validation_required())
{
// return all model rules
return array(
// default rules here
);
// or
// if extending model with existing rules
return parent::rules();
}
else
{
// skip validation
return array();
}
}
public function validation_required($required = TRUE)
{
if ($required === NULL)
{
// work as getter
return $this->_validation_required;
}
// set value
$this->_validation_required = (bool)$required;
return $this;
}
当然,您可以使用不同事件(插入/更新等)的自定义规则扩展此代码
PS。另外,当$this->validation\u required()==TRUE时,您可以重写check()
方法并返回TRUE
。但是我宁愿发送空规则(因为rules()
是专门为自定义而设计的,而check()
是一种系统方法)。在接受的答案中,像getter一样使用$this->validation\u required()函数似乎是错误的($required参数的默认值为!=NULL)
在接受答案中,像getter一样使用$this->validation_required()函数似乎是错误的($required参数的默认值为!=NULL)
谢谢真的没有内置的方式吗?这是内置的方式)在以前的版本中,规则被定义为属性。使用特殊的规则()
方法验证变得更加灵活。谢谢。。。真的没有内置的方式吗?这是内置的方式)在以前的版本中,规则被定义为属性。使用特殊的规则()
方法验证变得更加灵活。