Ejemplo n.º 1
0
 public function rules()
 {
     $rules = parent::rules();
     if (isset($this->required)) {
         $rules[] = [$this->getAttribute(), 'required'];
     }
     return $rules;
 }
Ejemplo n.º 2
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     $rules = parent::rules();
     $rules[] = [$this->getAttribute(), 'date', 'format' => $this->format];
     if (isset($this->required)) {
         $rules[] = [$this->getAttribute(), 'required'];
     }
     return $rules;
 }
Ejemplo n.º 3
0
 /**
  * @return array
  */
 public function rules()
 {
     $rules = parent::rules();
     $rules[] = [$this->getAttribute(), MultipleValidator::className(), 'required' => !!$this->required, 'model' => $this->_value];
     return $rules;
 }
Ejemplo n.º 4
0
 /**
  * @inheritdoc
  */
 public function offsetSet($offset, $item)
 {
     if ($offset == null) {
         $offset = $this->count();
     }
     if ($this->offsetExists($offset)) {
         $this->data[$offset]->setValue($item);
     } else {
         $field = BaseField::createField($this->_fieldConfig)->link($this, $offset);
         if ($item !== null) {
             $field->setValue($item);
         }
         $this->data[$offset] = $field;
         $rules = $field->rules();
         foreach ($rules as $rule) {
             $this->addRule((string) $rule[0], $rule[1], array_slice($rule, 2));
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * @param Yii\widgets\ActiveForm $form
  * @param array $options
  * @return Yii\widgets\ActiveField|static
  */
 public function field($form, $options = [])
 {
     return parent::field($form, $options)->widget(Select2::className(), ['data' => $this->fetchItems(), 'theme' => Select2::THEME_BOOTSTRAP, 'options' => ['disabled' => isset($this->disabled) ? 'disabled' : null, 'multiple' => isset($this->multiple) ? 'multiple' : null], 'pluginOptions' => ['create' => isset($this->editable), 'maxItems' => isset($this->multiple) ? 'NaN' : 1]]);
 }
Ejemplo n.º 6
0
 /**
  * Defines an attribute.
  * @param string $name the attribute name
  * @param BaseField|string|array $field the attribute value
  */
 public function defineAttribute($name, $field)
 {
     $field = BaseField::createField($field);
     $field->link($this, $name);
     $this->_attributes[$name] = $field;
 }