Controller_Validator_Abstract::init PHP Method

init() public method

{{{ Initialization method
public init ( )
    public function init()
    {
        parent::init();
        $that = $this;
        if ($this->owner instanceof Controller_Validator) {
            $this->owner->addHook('extraRules', array($this, 'extraRules'));
            return;
            // no source, simply extend rules.
        }
        if (($this->owner instanceof \Model || $this->owner instanceof \Form) && !$this->owner->hasMethod('is')) {
            $this->source = $this->owner;
            // must support set/get interface
            $this->owner->validator = $this;
            $this->source->addMethod('is', function ($m) use($that) {
                $args = func_get_args();
                array_shift($args);
                call_user_func_array(array($that, 'is'), $args);
                $that->on('beforeSave', null, true);
                return $m;
            });
        }
    }

Usage Example

Example #1
0
File: Basic.php Project: atk4/atk4
 public function init()
 {
     parent::init();
     $this->alias = array_merge($this->alias, array('same' => 'eq', 'different' => 'ne'));
 }