setRequired() public method

Makes control mandatory.
public setRequired ( $value = TRUE ) : self
return self
コード例 #1
0
 /**
  * @param \Nette\Forms\Controls\BaseControl $control
  * @param string|null $errorMessage
  * @param bool|callable $requiring
  */
 private function resolveRequiring(\Nette\Forms\Controls\BaseControl $control, $errorMessage = null, $requiring = false)
 {
     if ($requiring === true) {
         $control->setRequired($errorMessage !== null ? $errorMessage : true);
     } elseif (is_callable($requiring)) {
         $condition = $requiring($control);
         if (!$condition instanceof \Nette\Forms\Rules) {
             throw new RequiredFormFieldResolutionException('Requiring call must return instance of \\Nette\\Forms\\Rules.');
         }
         $condition->setRequired($errorMessage !== null ? $errorMessage : true);
     }
 }
コード例 #2
0
ファイル: DefaultMapper.php プロジェクト: voda/formbuilder
 /**
  * Add default conditions.
  * Supports: required, min/maxLength, min, max
  *
  * @param \Nette\Forms\Controls\BaseControl $input
  * @param array $conditions
  */
 protected function addConditions(\Nette\Forms\Controls\BaseControl $input, array $conditions)
 {
     foreach ($conditions as $key => $value) {
         switch ($key) {
             case 'required':
                 $input->setRequired();
                 break;
             case 'maxLength':
                 $input->addRule(Builder\EntityForm::MAX_LENGTH, null, $value);
                 break;
             case 'minLength':
                 $input->addRule(Builder\EntityForm::MIN_LENGTH, null, $value);
                 break;
             default:
                 break;
         }
     }
     if (isset($conditions['min']) || isset($conditions['max'])) {
         $input->addRule(Builder\EntityForm::RANGE, null, array(isset($conditions['min']) ? $conditions['min'] : null, isset($conditions['max']) ? $conditions['max'] : null));
     }
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 public function setRequired($value = TRUE)
 {
     $this->wrappedControl->setRequired($value);
     return $this;
 }
コード例 #4
0
ファイル: DateInput.php プロジェクト: nella/forms-datetime
 /**
  * @param string|bool $message
  * @return \Nella\Forms\DateTime\DateInput
  */
 public function setRequired($message = TRUE)
 {
     if ($message !== FALSE && !is_string($message)) {
         throw new \Nette\InvalidArgumentException('Message must be string');
     }
     parent::setRequired($message);
     if ($message !== FALSE) {
         $this->addCondition(Form::FILLED)->addRule(function (DateInput $control) {
             return $this->validateDate($control);
         }, $message);
     }
     return $this;
 }