Final Class Yiisoft\Form\Field\Checkbox
The input element with a type attribute whose value is "checkbox" represents a state or option that can be toggled.
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 static 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 static 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 static 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 static 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 static 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 static 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 static addInputAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addInputAttributes(array $attributes): static
{
$new = clone $this;
$new->inputAttributes = array_merge($new->inputAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\InputField::addInputClass()
Add one or more CSS classes to the input tag.
| public static addInputClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addInputClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->inputAttributes, $class);
return $new;
}
| public static 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 static 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 self addInputLabelAttributes ( array $attributes ) | ||
| $attributes | array | |
public function addInputLabelAttributes(array $attributes): self
{
$new = clone $this;
$new->inputLabelAttributes = array_merge($new->inputLabelAttributes, $attributes);
return $new;
}
Add one or more CSS classes to the checkbox label tag.
| public self addInputLabelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
public function addInputLabelClass(?string ...$class): self
{
$new = clone $this;
Html::addCssClass($new->inputLabelAttributes, $class);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\ValidationClass\ValidationClassTrait::addInputValidationClassToAttributes()
| protected void addInputValidationClassToAttributes ( array &$attributes, Yiisoft\Form\Field\Base\InputData\InputDataInterface $inputData, ?bool $hasCustomError = null ) | ||
| $attributes | array | |
| $inputData | Yiisoft\Form\Field\Base\InputData\InputDataInterface | |
| $hasCustomError | ?bool | |
protected function addInputValidationClassToAttributes(
array &$attributes,
InputDataInterface $inputData,
?bool $hasCustomError = null,
): void {
$this->addClassesToAttributes(
$attributes,
$inputData,
$hasCustomError,
$this->inputInvalidClass,
$this->inputValidClass,
);
}
| public static 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 static 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\ValidationClass\ValidationClassTrait::addValidationClassToAttributes()
| protected void addValidationClassToAttributes ( array &$attributes, Yiisoft\Form\Field\Base\InputData\InputDataInterface $inputData, ?bool $hasCustomError = null ) | ||
| $attributes | array | |
| $inputData | Yiisoft\Form\Field\Base\InputData\InputDataInterface | |
| $hasCustomError | ?bool | |
protected function addValidationClassToAttributes(
array &$attributes,
InputDataInterface $inputData,
?bool $hasCustomError = null,
): void {
$this->addClassesToAttributes(
$attributes,
$inputData,
$hasCustomError,
$this->invalidClass,
$this->validClass,
);
}
Defined in: Yiisoft\Form\Field\Base\PartsField::afterInput()
| public static afterInput ( string|\Stringable $content ) | ||
| $content | string|\Stringable | |
final public function afterInput(string|Stringable $content): static
{
$new = clone $this;
$new->afterInput = $content;
return $new;
}
Identifies the element (or elements) that describes the object.
| public self ariaDescribedBy ( ?string $value ) | ||
| $value | ?string | |
public function ariaDescribedBy(?string ...$value): self
{
$new = clone $this;
$new->inputAttributes['aria-describedby'] = array_filter($value, static fn(?string $v): bool => $v !== null);
return $new;
}
Defines a string value that labels the current element.
| public self ariaLabel ( ?string $value ) | ||
| $value | ?string | |
public function ariaLabel(?string $value): self
{
$new = clone $this;
$new->inputAttributes['aria-label'] = $value;
return $new;
}
Focus on the control (put cursor into it) when the page loads. Only one form element could be in focus at the same time.
| public self autofocus ( boolean $value = true ) | ||
| $value | boolean | |
public function autofocus(bool $value = true): self
{
$new = clone $this;
$new->inputAttributes['autofocus'] = $value;
return $new;
}
| public static 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 begin ( ) |
final public function begin(): ?string
{
parent::begin();
$this->isStartedByBegin = true;
$this->beforeRender();
$content = $this->generateBeginContent();
return $this->renderOpenContainerAndContent($content);
}
| public static 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 static 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 static 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 static 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 self disabled ( boolean $disabled = true ) | ||
| $disabled | boolean | |
public function disabled(bool $disabled = true): self
{
$new = clone $this;
$new->inputAttributes['disabled'] = $disabled;
return $new;
}
If the input should be enclosed by label.
| public self enclosedByLabel ( boolean $value ) | ||
| $value | boolean |
If the input should be en closed by label. |
public function enclosedByLabel(bool $value): self
{
$new = clone $this;
$new->enclosedByLabel = $value;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::error()
| public static error ( ?string $message, string $messages ) | ||
| $message | ?string | |
| $messages | string | |
final public function error(?string $message, string ...$messages): static
{
$new = clone $this;
$new->errorConfig['message()'] = [$message, ...$messages];
return $new;
}
| public static 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 static 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 static 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 static 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;
}
Defined in: Yiisoft\Form\Field\Base\InputField::form()
Specifies the form element the tag input element belongs to. The value of this attribute must be the ID attribute of a form element in the same document.
| public static form ( ?string $value ) | ||
| $value | ?string | |
final public function form(?string $value): static
{
$new = clone $this;
$new->inputAttributes['form'] = $value;
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 '';
}
| protected ?string 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
{
return '';
}
| protected string generateInput ( ) |
protected function generateInput(): string
{
$value = $this->getValue();
if (
!is_bool($value)
&& !is_string($value)
&& !$value instanceof Stringable
&& !is_numeric($value)
&& $value !== null
) {
throw new InvalidArgumentException(
'Checkbox widget requires a string, Stringable, numeric, bool or null value.',
);
}
$value = $this->prepareCheckboxValue($value);
$inputAttributes = $this->getInputAttributes();
$inputValue = $this->inputValue;
$inputValue ??= $this->prepareCheckboxValue($inputAttributes['value'] ?? null);
unset($inputAttributes['value']);
$inputValue ??= '1';
$checkbox = Html::checkbox($this->getName(), $inputValue, $inputAttributes);
$labelPlacement = $this->getLabelPlacement();
if ($labelPlacement === CheckboxLabelPlacement::WRAP) {
$label = $this->inputLabel ?? $this->label ?? $this->getInputData()->getLabel();
$checkbox = $checkbox
->label($label, $this->inputLabelAttributes)
->labelEncode($this->inputLabelEncode);
} elseif ($labelPlacement === CheckboxLabelPlacement::SIDE) {
$label = $this->inputLabel ?? $this->label ?? $this->getInputData()->getLabel();
$checkbox = $checkbox
->sideLabel($label, $this->inputLabelAttributes)
->labelEncode($this->inputLabelEncode);
}
$html = $checkbox
->checked($inputValue === $value)
->uncheckValue($this->uncheckValue)
->render();
if ($labelPlacement === CheckboxLabelPlacement::DEFAULT && $this->inputLabel !== null) {
$html .= ' ' . ($this->inputLabelEncode ? Html::encode($this->inputLabel) : $this->inputLabel);
}
return $html;
}
| protected array getInputAttributes ( ) |
final protected function getInputAttributes(): array
{
$attributes = $this->inputAttributes;
$this->prepareIdInInputAttributes($attributes);
$this->prepareInputAttributes($attributes);
return $attributes;
}
| protected Yiisoft\Form\Field\Base\InputData\InputDataInterface getInputData ( ) |
final protected function getInputData(): InputDataInterface
{
if ($this->inputData === null) {
$this->inputData = new InputData();
}
return $this->inputData;
}
| protected ?string getName ( ) |
final protected function getName(): ?string
{
return $this->useCustomName
? $this->customName
: $this->getInputData()->getName();
}
| protected static array getThemeConfig ( ?string $theme ) | ||
| $theme | ?string | |
final protected static function getThemeConfig(?string $theme): array
{
return ThemeContainer::getTheme($theme)?->getFieldConfig(static::class) ?? [];
}
| protected mixed getValue ( ) |
final protected function getValue(): mixed
{
$value = $this->useCustomValue
? $this->customValue
: $this->getInputData()->getValue();
return $this->prepareValueCallback === null
? $value
: ($this->prepareValueCallback)($value);
}
| protected boolean hasCustomError ( ) |
final protected function hasCustomError(): bool
{
return isset($this->errorConfig['message()']);
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hideLabel()
| public static hideLabel ( ?bool $hide = true ) | ||
| $hide | ?bool | |
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 static hint ( ?string $content ) | ||
| $content | ?string | |
final public function hint(?string $content): static
{
$new = clone $this;
$new->hintConfig['content()'] = [$content];
return $new;
}
| public static 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 static 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 static 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 static 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 static inputAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function inputAttributes(array $attributes): static
{
$new = clone $this;
$new->inputAttributes = $attributes;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\InputField::inputClass()
Replace input tag CSS classes with a new set of classes.
| public static inputClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function inputClass(?string ...$class): static
{
$new = clone $this;
$new->inputAttributes['class'] = array_filter($class, static fn($c) => $c !== null);
return $new;
}
| public static 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 static 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 static inputContainerTag ( ?string $tag ) | ||
| $tag | ?string | |
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;
}
| public static inputData ( Yiisoft\Form\Field\Base\InputData\InputDataInterface $inputData ) | ||
| $inputData | Yiisoft\Form\Field\Base\InputData\InputDataInterface | |
final public function inputData(InputDataInterface $inputData): static
{
$new = clone $this;
$new->inputData = $inputData;
$new->useCustomName = false;
$new->useCustomValue = false;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\InputField::inputId()
| public static inputId ( ?string $inputId ) | ||
| $inputId | ?string | |
final public function inputId(?string $inputId): static
{
$new = clone $this;
$new->inputId = $inputId;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\ValidationClass\ValidationClassTrait::inputInvalidClass()
Set invalid CSS class for input tag.
| public self inputInvalidClass ( ?string $class ) | ||
| $class | ?string | |
public function inputInvalidClass(?string $class): self
{
$new = clone $this;
$new->inputInvalidClass = $class;
return $new;
}
Label displayed next to the checkbox.
| public self inputLabel ( ?string $value ) | ||
| $value | ?string | |
public function inputLabel(?string $value): self
{
$new = clone $this;
$new->inputLabel = $value;
return $new;
}
HTML attributes for the label tag.
{@see \Yiisoft\Html\Html::renderTagAttributes()} for details on how attributes are being rendered.
| public self inputLabelAttributes ( array $attributes ) | ||
| $attributes | array | |
public function inputLabelAttributes(array $attributes): self
{
$new = clone $this;
$new->inputLabelAttributes = $attributes;
return $new;
}
Replace checkbox label tag CSS classes with a new set of classes.
| public self inputLabelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
public function inputLabelClass(?string ...$class): self
{
$new = clone $this;
$new->inputLabelAttributes['class'] = array_filter($class, static fn($c) => $c !== null);
return $new;
}
| public self inputLabelEncode ( boolean $encode ) | ||
| $encode | boolean | |
public function inputLabelEncode(bool $encode): self
{
$new = clone $this;
$new->inputLabelEncode = $encode;
return $new;
}
Set checkbox label tag ID.
| public self inputLabelId ( string|null $id ) | ||
| $id | string|null |
Label tag ID. |
public function inputLabelId(?string $id): self
{
$new = clone $this;
$new->inputLabelAttributes['id'] = $id;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\ValidationClass\ValidationClassTrait::inputValidClass()
Set valid CSS class for input tag.
| public self inputValidClass ( ?string $class ) | ||
| $class | ?string | |
public function inputValidClass(?string $class): self
{
$new = clone $this;
$new->inputValidClass = $class;
return $new;
}
| public self inputValue ( boolean|float|integer|string|\Stringable|null $value ) | ||
| $value | boolean|float|integer|string|\Stringable|null | |
public function inputValue(bool|float|int|string|Stringable|null $value): self
{
$new = clone $this;
$new->inputValue = $this->prepareCheckboxValue($value);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\ValidationClass\ValidationClassTrait::invalidClass()
Set invalid CSS class.
| public self invalidClass ( ?string $class ) | ||
| $class | ?string | |
public function invalidClass(?string $class): self
{
$new = clone $this;
$new->invalidClass = $class;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::label()
| public static label ( ?string $content ) | ||
| $content | ?string | |
final public function label(?string $content): static
{
$new = clone $this;
$new->label = $content;
return $new;
}
| public static 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 static 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 static 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 static 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;
}
Set label placement relative to checkbox input.
See also \Yiisoft\Form\Field\CheckboxLabelPlacement.
| public self labelPlacement ( \Yiisoft\Form\Field\CheckboxLabelPlacement $placement ) | ||
| $placement | \Yiisoft\Form\Field\CheckboxLabelPlacement | |
public function labelPlacement(CheckboxLabelPlacement $placement): self
{
$new = clone $this;
$new->labelPlacement = $placement;
return $new;
}
| public static name ( ?string $name ) | ||
| $name | ?string | |
final public function name(?string $name): static
{
$new = clone $this;
$new->customName = $name;
$new->useCustomName = true;
return $new;
}
| protected void prepareContainerAttributes ( array &$attributes ) | ||
| $attributes | array | |
protected function prepareContainerAttributes(array &$attributes): void
{
$this->addValidationClassToAttributes(
$attributes,
$this->getInputData(),
$this->hasCustomError() ? true : null,
);
}
| protected void prepareIdInInputAttributes ( array &$attributes ) | ||
| $attributes | array | |
final protected function prepareIdInInputAttributes(array &$attributes): void
{
$idFromTag = $attributes['id'] ?? null;
if ($idFromTag !== null) {
$this->inputIdFromTag = (string) $idFromTag;
}
if ($this->shouldSetInputId) {
if ($this->inputId !== null) {
$attributes['id'] = $this->inputId;
} elseif ($idFromTag === null) {
$attributes['id'] = $this->getInputData()->getId();
}
}
}
| protected void prepareInputAttributes ( array &$attributes ) | ||
| $attributes | array | |
protected function prepareInputAttributes(array &$attributes): void
{
$this->addInputValidationClassToAttributes(
$attributes,
$this->getInputData(),
$this->hasCustomError() ? true : null,
);
}
| public static prepareValue ( ?callable $callback ) | ||
| $callback | ?callable | |
final public function prepareValue(?callable $callback): static
{
$new = clone $this;
$new->prepareValueCallback = $callback;
return $new;
}
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 renderError ( Yiisoft\Form\Field\Part\Error $error ) | ||
| $error | Yiisoft\Form\Field\Part\Error | |
final protected function renderError(Error $error): string
{
return $error
->inputData($this->getInputData())
->render();
}
Defined in: Yiisoft\Form\Field\Base\InputField::renderHint()
| protected string renderHint ( Yiisoft\Form\Field\Part\Hint $hint ) | ||
| $hint | Yiisoft\Form\Field\Part\Hint | |
final protected function renderHint(Hint $hint): string
{
return $hint
->inputData($this->getInputData())
->render();
}
| protected string renderLabel ( Yiisoft\Form\Field\Part\Label $label ) | ||
| $label | Yiisoft\Form\Field\Part\Label | |
final protected function renderLabel(Label $label): string
{
$label = $label->inputData($this->getInputData());
if ($this->shouldSetInputId === false) {
$label = $label->useInputId(false);
}
if ($this->inputId !== null) {
$label = $label->forId($this->inputId);
} elseif ($this->inputIdFromTag !== null) {
$label = $label->forId($this->inputIdFromTag);
}
return $label->render();
}
| protected boolean shouldHideLabel ( ) |
protected function shouldHideLabel(): bool
{
return $this->getLabelPlacement() !== CheckboxLabelPlacement::DEFAULT;
}
| public static shouldSetInputId ( boolean $value ) | ||
| $value | boolean | |
final public function shouldSetInputId(bool $value): static
{
$new = clone $this;
$new->shouldSetInputId = $value;
return $new;
}
The tabindex attribute indicates that its element can be focused, and where it participates in sequential
keyboard navigation (usually with the Tab key, hence the name).
It accepts an integer as a value, with different results depending on the integer's value:
- A negative value (usually
tabindex="-1") means that the element is not reachable via sequential keyboard navigation, but could be focused with Javascript or visually. It's mostly useful to create accessible widgets with JavaScript. tabindex="0"means that the element should be focusable in sequential keyboard navigation, but its order is defined by the document's source order.- A positive value means the element should be focusable in sequential keyboard navigation, with its order
defined by the value of the number. That is,
tabindex="4"is focused beforetabindex="5", but aftertabindex="3".
| public self tabIndex ( ?int $value ) | ||
| $value | ?int | |
public function tabIndex(?int $value): self
{
$new = clone $this;
$new->inputAttributes['tabindex'] = $value;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::template()
Set layout template for render a field.
| public static template ( string $template ) | ||
| $template | string | |
final public function template(string $template): static
{
$new = clone $this;
$new->template = $template;
return $new;
}
| public static templateBegin ( string $template ) | ||
| $template | string | |
final public function templateBegin(string $template): static
{
$new = clone $this;
$new->templateBegin = $template;
return $new;
}
| public static 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 static 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 static 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 self uncheckValue ( boolean|float|integer|string|\Stringable|null $value ) | ||
| $value | boolean|float|integer|string|\Stringable|null |
Value that corresponds to "unchecked" state of the input. |
public function uncheckValue(bool|float|int|string|Stringable|null $value): self
{
$new = clone $this;
$new->uncheckValue = $this->prepareCheckboxValue($value);
return $new;
}
| public static useContainer ( boolean $use ) | ||
| $use | boolean | |
final public function useContainer(bool $use): static
{
$new = clone $this;
$new->useContainer = $use;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\ValidationClass\ValidationClassTrait::validClass()
Set valid CSS class.
| public self validClass ( ?string $class ) | ||
| $class | ?string | |
public function validClass(?string $class): self
{
$new = clone $this;
$new->validClass = $class;
return $new;
}
Signup or Login in order to comment.