addCondition() public method

Adds a new conditional subchain and returns its instance.
public addCondition ( Conditional $chain ) : self
$chain Jyxo\Input\Chain\Conditional
return self
Beispiel #1
0
 /**
  * Adds a conditional chain.
  *
  * If there are conditions in the current chain, adds the condition as a subchain.
  *
  * @param string $name Validator name
  * @param mixed $param Additional validator parameter
  * @return \Jyxo\Input\Fluent
  * @throws \BadMethodCallException There is no active variable
  */
 public function condition(string $name, $param = null) : self
 {
     $condChain = new Chain\Conditional($this->factory->getValidatorByName($name, $param));
     if (true === $this->chain->isEmpty()) {
         // The actual chain is empty, can be replaced by the condition
         $this->chain = $condChain;
         if (null === $this->currentName) {
             throw new \BadMethodCallException('No active variable');
         }
         $this->chains[$this->currentName] = $condChain;
     } else {
         $this->chain = $this->chain->addCondition($condChain);
     }
     return $this;
 }