Final Class Yiisoft\Form\Field\Fieldset
| Inheritance | Yiisoft\Form\Field\Fieldset » Yiisoft\Form\Field\Base\PartsField » Yiisoft\Form\Field\Base\BaseField » Yiisoft\Widget\Widget |
|---|---|
| Uses Traits | Yiisoft\Form\Field\Base\FieldContentTrait |
Represents <fieldset> element are use to group several controls.
Protected Properties
Public Methods
Protected Methods
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| BUILTIN_TOKENS | [ '{input}', '{label}', '{hint}', '{error}', ] | Yiisoft\Form\Field\Base\PartsField |
Method Details
| public Yiisoft\Form\Field\Fieldset addContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->containerAttributes = array_merge($new->containerAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::addContainerClass()
Add one or more CSS classes to the container tag.
| public Yiisoft\Form\Field\Fieldset addContainerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addContainerClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->containerAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Fieldset addContent ( string|\Stringable $content ) | ||
| $content | string|\Stringable |
Field content. |
final public function addContent(string|Stringable ...$content): static
{
$new = clone $this;
$new->content = array_merge($new->content, array_values($content));
return $new;
}
| public Yiisoft\Form\Field\Fieldset addErrorAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addErrorAttributes(array $attributes): static
{
$new = clone $this;
$new->errorAttributes = array_merge($new->errorAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addErrorClass()
Add one or more CSS classes to the error tag.
| public Yiisoft\Form\Field\Fieldset addErrorClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addErrorClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->errorAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Fieldset addHintAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addHintAttributes(array $attributes): static
{
$new = clone $this;
$new->hintAttributes = array_merge($new->hintAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addHintClass()
Add one or more CSS classes to the hint tag.
| public Yiisoft\Form\Field\Fieldset addHintClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addHintClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->hintAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Fieldset addInputContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addInputContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->inputContainerAttributes = array_merge($new->inputContainerAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addInputContainerClass()
Add one or more CSS classes to the input container tag.
| public Yiisoft\Form\Field\Fieldset addInputContainerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addInputContainerClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->inputContainerAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Fieldset addLabelAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addLabelAttributes(array $attributes): static
{
$new = clone $this;
$new->labelAttributes = array_merge($new->labelAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addLabelClass()
Add one or more CSS classes to the label tag.
| public Yiisoft\Form\Field\Fieldset addLabelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addLabelClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->labelAttributes, $class);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::afterInput()
| public Yiisoft\Form\Field\Fieldset afterInput ( string|\Stringable $content ) | ||
| $content | string|\Stringable | |
final public function afterInput(string|Stringable $content): static
{
$new = clone $this;
$new->afterInput = $content;
return $new;
}
| public Yiisoft\Form\Field\Fieldset beforeInput ( string|\Stringable $content ) | ||
| $content | string|\Stringable | |
final public function beforeInput(string|Stringable $content): static
{
$new = clone $this;
$new->beforeInput = $content;
return $new;
}
| protected void beforeRender ( ) |
protected function beforeRender(): void
{
}
Defined in: Yiisoft\Form\Field\Base\BaseField::begin()
| public string|null begin ( ) |
final public function begin(): ?string
{
parent::begin();
$this->isStartedByBegin = true;
$this->beforeRender();
$content = $this->generateBeginContent();
return $this->renderOpenContainerAndContent($content);
}
| public Yiisoft\Form\Field\Fieldset containerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function containerAttributes(array $attributes): static
{
$new = clone $this;
$new->containerAttributes = $attributes;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::containerClass()
Replace container tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Fieldset containerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function containerClass(?string ...$class): static
{
$new = clone $this;
$new->containerAttributes['class'] = array_filter($class, static fn ($c) => $c !== null);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::containerId()
Set container tag ID.
| public Yiisoft\Form\Field\Fieldset containerId ( string|null $id ) | ||
| $id | string|null |
Container tag ID. |
final public function containerId(?string $id): static
{
$new = clone $this;
$new->containerAttributes['id'] = $id;
return $new;
}
| public Yiisoft\Form\Field\Fieldset containerTag ( string $tag ) | ||
| $tag | string | |
final public function containerTag(string $tag): static
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->containerTag = $tag;
return $new;
}
| public Yiisoft\Form\Field\Fieldset content ( string|\Stringable $content ) | ||
| $content | string|\Stringable |
Field content. |
final public function content(string|Stringable ...$content): static
{
$new = clone $this;
$new->content = $content;
return $new;
}
| public self disabled ( boolean $disabled = true ) | ||
| $disabled | boolean |
Whether fieldset is disabled. |
public function disabled(bool $disabled = true): self
{
$new = clone $this;
$new->tag = $this->tag->disabled($disabled);
return $new;
}
| public Yiisoft\Form\Field\Fieldset doubleEncodeContent ( boolean $doubleEncode ) | ||
| $doubleEncode | boolean |
Whether already encoded HTML entities in field content should be encoded.
Defaults to |
final public function doubleEncodeContent(bool $doubleEncode): static
{
$new = clone $this;
$new->doubleEncodeContent = $doubleEncode;
return $new;
}
| public Yiisoft\Form\Field\Fieldset encodeContent ( boolean|null $encode ) | ||
| $encode | boolean|null |
Whether to encode field content. Supported values:
|
final public function encodeContent(?bool $encode): static
{
$new = clone $this;
$new->encodeContent = $encode;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::error()
| public Yiisoft\Form\Field\Fieldset error ( string|null $message, string $messages ) | ||
| $message | string|null | |
| $messages | string | |
final public function error(?string $message, string ...$messages): static
{
$new = clone $this;
$new->errorConfig['message()'] = [$message, ...$messages];
return $new;
}
| public Yiisoft\Form\Field\Fieldset errorAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function errorAttributes(array $attributes): static
{
$new = clone $this;
$new->errorAttributes = $attributes;
$new->replaceErrorAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::errorClass()
Replace error tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Fieldset errorClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function errorClass(?string ...$class): static
{
$new = clone $this;
$new->errorAttributes['class'] = $class;
$new->replaceErrorClass = true;
return $new;
}
| public Yiisoft\Form\Field\Fieldset errorConfig ( array $config ) | ||
| $config | array | |
final public function errorConfig(array $config): static
{
$new = clone $this;
$new->errorConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::errorId()
Set error tag ID.
| public Yiisoft\Form\Field\Fieldset errorId ( string|null $id ) | ||
| $id | string|null |
Error tag ID. |
final public function errorId(?string $id): static
{
$new = clone $this;
$new->errorAttributes['id'] = $id;
return $new;
}
| public self form ( string|null $formId ) | ||
| $formId | string|null | |
public function form(?string $formId): self
{
$new = clone $this;
$new->tag = $this->tag->form($formId);
return $new;
}
| protected string generateBeginContent ( ) |
final protected function generateBeginContent(): string
{
$parts = [
'{input}' => $this->generateBeginInput(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->templateBegin, $parts);
}
| protected string generateBeginInput ( ) |
protected function generateBeginInput(): string
{
return $this->tag->open();
}
| protected string|null generateContent ( ) |
final protected function generateContent(): ?string
{
$parts = [
'{input}' => $this->generateInputContainerBegin()
. $this->beforeInput
. $this->generateInput()
. $this->afterInput
. $this->generateInputContainerEnd(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->template, $parts);
}
| protected string generateEndContent ( ) |
final protected function generateEndContent(): string
{
$parts = [
'{input}' => $this->generateEndInput(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->templateEnd, $parts);
}
| protected string generateEndInput ( ) |
protected function generateEndInput(): string
{
$content = $this->renderContent();
return ($content !== '' ? "\n" . $content . "\n" : '')
. $this->tag->close();
}
| protected string generateInput ( ) |
protected function generateInput(): string
{
return $this->generateBeginInput() . $this->generateEndInput();
}
| protected static array getThemeConfig ( string|null $theme ) | ||
| $theme | string|null | |
final protected static function getThemeConfig(?string $theme): array
{
return ThemeContainer::getTheme($theme)?->getFieldConfig(static::class) ?? [];
}
| protected boolean hasCustomError ( ) |
final protected function hasCustomError(): bool
{
return isset($this->errorConfig['message()']);
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hideLabel()
| public Yiisoft\Form\Field\Fieldset hideLabel ( boolean|null $hide = true ) | ||
| $hide | boolean|null | |
final public function hideLabel(?bool $hide = true): static
{
$new = clone $this;
$new->hideLabel = $hide;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hint()
| public Yiisoft\Form\Field\Fieldset hint ( string|null $content ) | ||
| $content | string|null | |
final public function hint(?string $content): static
{
$new = clone $this;
$new->hintConfig['content()'] = [$content];
return $new;
}
| public Yiisoft\Form\Field\Fieldset hintAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function hintAttributes(array $attributes): static
{
$new = clone $this;
$new->hintAttributes = $attributes;
$new->replaceHintAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintClass()
Replace hint tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Fieldset hintClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function hintClass(?string ...$class): static
{
$new = clone $this;
$new->hintAttributes['class'] = $class;
$new->replaceHintClass = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintConfig()
| public Yiisoft\Form\Field\Fieldset hintConfig ( array $config ) | ||
| $config | array | |
final public function hintConfig(array $config): static
{
$new = clone $this;
$new->hintConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintId()
Set hint tag ID.
| public Yiisoft\Form\Field\Fieldset hintId ( string|null $id ) | ||
| $id | string|null |
Hint tag ID. |
final public function hintId(?string $id): static
{
$new = clone $this;
$new->hintAttributes['id'] = $id;
return $new;
}
| public Yiisoft\Form\Field\Fieldset inputContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function inputContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->inputContainerAttributes = $attributes;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::inputContainerClass()
Replace input container tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Fieldset inputContainerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function inputContainerClass(?string ...$class): static
{
$new = clone $this;
$new->inputContainerAttributes['class'] = array_filter($class, static fn ($c) => $c !== null);
return $new;
}
| public Yiisoft\Form\Field\Fieldset inputContainerTag ( string|null $tag ) | ||
| $tag | string|null | |
final public function inputContainerTag(?string $tag): static
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->inputContainerTag = $tag;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::label()
| public Yiisoft\Form\Field\Fieldset label ( string|null $content ) | ||
| $content | string|null | |
final public function label(?string $content): static
{
$new = clone $this;
$new->label = $content;
return $new;
}
| public Yiisoft\Form\Field\Fieldset labelAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function labelAttributes(array $attributes): static
{
$new = clone $this;
$new->labelAttributes = $attributes;
$new->replaceLabelAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::labelClass()
Replace label tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Fieldset labelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function labelClass(?string ...$class): static
{
$new = clone $this;
$new->labelAttributes['class'] = $class;
$new->replaceLabelClass = true;
return $new;
}
| public Yiisoft\Form\Field\Fieldset labelConfig ( array $config ) | ||
| $config | array | |
final public function labelConfig(array $config): static
{
$new = clone $this;
$new->labelConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::labelId()
Set label tag ID.
| public Yiisoft\Form\Field\Fieldset labelId ( string|null $id ) | ||
| $id | string|null |
Label tag ID. |
final public function labelId(?string $id): static
{
$new = clone $this;
$new->labelAttributes['id'] = $id;
return $new;
}
| public self legend ( string|\Stringable|null $content, array $attributes = [] ) | ||
| $content | string|\Stringable|null | |
| $attributes | array | |
public function legend(string|Stringable|null $content, array $attributes = []): self
{
$new = clone $this;
$new->tag = $this->tag->legend($content, $attributes);
return $new;
}
| public self legendTag ( \Yiisoft\Html\Tag\Legend|null $legend ) | ||
| $legend | \Yiisoft\Html\Tag\Legend|null | |
public function legendTag(?Legend $legend): self
{
$new = clone $this;
$new->tag = $this->tag->legendTag($legend);
return $new;
}
| public self name ( string|null $name ) | ||
| $name | string|null | |
public function name(?string $name): self
{
$new = clone $this;
$new->tag = $this->tag->name($name);
return $new;
}
| protected void prepareContainerAttributes ( array &$attributes ) | ||
| $attributes | array | |
protected function prepareContainerAttributes(array &$attributes): void
{
}
Defined in: Yiisoft\Form\Field\Base\BaseField::render()
| public string render ( ) |
final public function render(): string
{
if ($this->isStartedByBegin) {
$this->isStartedByBegin = false;
return $this->renderEnd();
}
$this->beforeRender();
$content = $this->generateContent();
if ($content === null) {
$this->enrichment = [];
return '';
}
$result = $this->renderOpenContainerAndContent($content);
if ($this->useContainer) {
$result .= "\n" . Html::closeTag($this->containerTag);
}
$this->enrichment = [];
return $result;
}
| protected string renderContent ( ) | ||
| return | string |
Obtain field content considering encoding options {@see \Yiisoft\Form\Field\Base\encodeContent()}. |
|---|---|---|
final protected function renderContent(): string
{
$content = '';
foreach ($this->content as $item) {
if ($this->encodeContent || ($this->encodeContent === null && !($item instanceof NoEncodeStringableInterface))) {
$item = Html::encode($item, $this->doubleEncodeContent);
}
$content .= $item;
}
return $content;
}
| protected string renderError ( Yiisoft\Form\Field\Part\Error $error ) | ||
| $error | Yiisoft\Form\Field\Part\Error | |
protected function renderError(Error $error): string
{
return $error->render();
}
Defined in: Yiisoft\Form\Field\Base\PartsField::renderHint()
| protected string renderHint ( Yiisoft\Form\Field\Part\Hint $hint ) | ||
| $hint | Yiisoft\Form\Field\Part\Hint | |
protected function renderHint(Hint $hint): string
{
return $hint->render();
}
| protected string renderLabel ( Yiisoft\Form\Field\Part\Label $label ) | ||
| $label | Yiisoft\Form\Field\Part\Label | |
protected function renderLabel(Label $label): string
{
return $label->render();
}
| protected boolean shouldHideLabel ( ) |
protected function shouldHideLabel(): bool
{
return false;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::template()
Set layout template for render a field.
| public Yiisoft\Form\Field\Fieldset template ( string $template ) | ||
| $template | string | |
final public function template(string $template): static
{
$new = clone $this;
$new->template = $template;
return $new;
}
| public Yiisoft\Form\Field\Fieldset templateBegin ( string $template ) | ||
| $template | string | |
final public function templateBegin(string $template): static
{
$new = clone $this;
$new->templateBegin = $template;
return $new;
}
| public Yiisoft\Form\Field\Fieldset templateEnd ( string $template ) | ||
| $template | string | |
final public function templateEnd(string $template): static
{
$new = clone $this;
$new->templateEnd = $template;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::token()
| public Yiisoft\Form\Field\Fieldset token ( string $token, string|\Stringable $value ) | ||
| $token | string | |
| $value | string|\Stringable | |
final public function token(string $token, string|Stringable $value): static
{
$this->validateToken($token);
$new = clone $this;
$new->extraTokens[$token] = $value;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::tokens()
| public Yiisoft\Form\Field\Fieldset tokens ( array $tokens ) | ||
| $tokens | array | |
final public function tokens(array $tokens): static
{
$new = clone $this;
foreach ($tokens as $token => $value) {
if (!is_string($token)) {
throw new InvalidArgumentException(
sprintf(
'Token should be string. %s given.',
get_debug_type($token),
)
);
}
if (!is_string($value) && !$value instanceof Stringable) {
throw new InvalidArgumentException(
sprintf(
'Token value should be string or Stringable. %s given.',
get_debug_type($value),
)
);
}
$this->validateToken($token);
$new->extraTokens[$token] = $value;
}
return $new;
}
| public Yiisoft\Form\Field\Fieldset useContainer ( boolean $use ) | ||
| $use | boolean | |
final public function useContainer(bool $use): static
{
$new = clone $this;
$new->useContainer = $use;
return $new;
}
Signup or Login in order to comment.