Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跳过Kohana 3.3中的ORM验证_Orm_Kohana - Fatal编程技术网

跳过Kohana 3.3中的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

如何跳过特定orm保存的验证而不删除orm模型规则函数


我正在使用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)


谢谢真的没有内置的方式吗?这是内置的方式)在以前的版本中,规则被定义为属性。使用特殊的
规则()
方法验证变得更加灵活。谢谢。。。真的没有内置的方式吗?这是内置的方式)在以前的版本中,规则被定义为属性。使用特殊的
规则()
方法验证变得更加灵活。