コード例 #1
0
ファイル: CheckBoxSet.php プロジェクト: new-inventor/form
 /**
  * @inheritdoc
  */
 public function setValue($value)
 {
     TypeChecker::getInstance()->check($value, [SimpleTypes::STRING, SimpleTypes::ARR, SimpleTypes::NULL], 'value')->throwTypeErrorIfNotValid();
     if (is_string($value)) {
         parent::setValue([$value]);
     } elseif (is_array($value)) {
         parent::setValue($value);
     } else {
         parent::setValue([]);
     }
     return $this;
 }
コード例 #2
0
ファイル: FieldRenderer.php プロジェクト: new-inventor/form
 public function renderOptionAttributes(Field\ListField $field)
 {
     $renderer = new AttributeRenderer();
     $asArray = '';
     $type = '';
     if ($field instanceof Field\CheckBoxSet) {
         $type = 'checkbox';
         $asArray = '[]';
     } elseif ($field instanceof Field\RadioSet) {
         $type = 'radio';
     }
     $type = new KeyValuePair('type', $type);
     $name = new KeyValuePair('name', $field->getFullName() . $asArray);
     $attrs = [$renderer->render($type), $renderer->render($name)];
     foreach ($field->attributes() as $attr) {
         $attrs[] = $renderer->render($attr);
     }
     return implode(' ', $attrs);
 }