FormChoice
class FormChoice extends FormComponent
Traits
Constants
| protected REMOTE_LIST_THRESHOLD |
If there is less or equal than REMOTE_LIST_THRESHOLD choices we pass all choices to frontend instead of doing remote search requests |
| SERIALIZE_JSON |
|
| SERIALIZE_CSV |
|
Properties
| protected array | $config | from FormBase | |
| bool | $save_requires_edit_var | from FormBase | |
| Form | $form | from FormComponent | |
| protected | $field_disable_save | Set to false if this field is not "saveable", e.g. static test |
from FormBase |
| $REQUEST_VARS | from FormComponent | ||
| $name | from FormComponent | ||
| callable|bool | $db_handler | from FormComponent |
Methods
No description
No description
Convert the given $value and ensures the value to be a usable array (e.g.: (string)"['1']" into: array(['1'])).
Create FormChoice for a legacy FormComponent
No description
Special Field Display for Print Purposes
No description
Return Dom Selector for this field within the current form (This is NOT necessary unique if you are having 2 forms with identical names in form and field names
Get Element Visibility Class Formerly known as tag class
No description
No description
No description
No description
No description
No description
No description
No description
Get current expected value format
Get URL for Dynamic Choice Queries
Does this component use combined input fields which required special handling from form?
Return if the component should be shown as required with specified style class.
Init will be called AFTER __construct() and init_obj() with $this->form set
Checks if the field is hidden by a tag. It is important when validating
Process e.g. file upload, resize etc.
No description
No description
No description
Show Custom Error Message for this field
No description
Enable COMPACT Mode which displays the values in a tag like format with multiple values per line
Field is to be loaded from and saved to database.
Field is considered to be translatable. This is usually determined automatically reading the instance configuration of the calling instance
Can user select multiple entries?
Consider Field as required
Set a value which should be shown when no item is selected
Set an icon class if no value is being selected (displayed with novalue message)
Sets the options for this field via the option list, that may contain several option objects.
No description
Manipulate another fields data when the value of the current field changes.
Add Custom HTML before the field element
Set format expected value format
Set Visibility Dependency if you want your field only to be shown if another field has a specify value Array Syntax: tag, tag_source
Set field to be the event source for another dependent field. Changes of this fields values will trigger events to their dependent fields and change their visibility in the frontend
Should this field be marked with HTML5 required attribute? HTML5 required should not be used when field may be hidden, as it might still be required frontend-wise, even if hidden!
Should this field be treated as required during request validation?
Details
in
FormBase at line 31
__construct()
FormBase constructor.
The constructor is able to set an array of properties options
at line 367
protected string
_serialize(array $value)
No description
at line 384
static protected array
_unSerialize(string $value, string $format = self::SERIALIZE_CSV)
No description
in
FormBase at line 198
append(string $name, mixed $value, bool|string $key = false)
No description
in
FormBase at line 183
void
concat(string $name, string $value)
No description
at line 151
static array
convertInputValueToArray(array|string $value, string $format = self::SERIALIZE_JSON)
Convert the given $value and ensures the value to be a usable array (e.g.: (string)"['1']" into: array(['1'])).
Function is static and is usable in value processing of custom forms
at line 419
static FormChoice
createFromLegacyFormComponent(FormComponent $legacyComponent)
Create FormChoice for a legacy FormComponent
in
FormBase at line 168
mixed
destroy($name)
No description
at line 63
string
display_field(string $name, string|array|bool $value = '')
No description
in
FormComponent at line 279
string
display_field_print(string $fieldname, string $default_value = '')
Special Field Display for Print Purposes
in
FormBase at line 77
mixed
get(string $name)
No description
at line 25
array
getAdditionalUrlParams()
No description
in
FormBase at line 84
array
getConfig()
No description
in
FormComponent at line 588
string
getDomSelector()
Return Dom Selector for this field within the current form (This is NOT necessary unique if you are having 2 forms with identical names in form and field names
in
FormComponent at line 600
protected string
getElementVisibilityClass()
Get Element Visibility Class Formerly known as tag class
at line 295
bool
getHideDescription()
No description
at line 314
bool
getIsCompact()
No description
at line 251
bool
getIsMultiple()
No description
in
FormComponent at line 501
bool
getIsVisible()
Determine visibilty based on user input on dependent fields
in
FormComponent at line 317
string
getLabel()
Get Field label
at line 269
string
getNoValue()
No description
at line 287
string
getNoValueIcon()
No description
at line 202
OptionList|null
getOptionList()
No description
at line 212
getOptionListPreset()
No description
at line 228
OptionListProcessorInterface|null
getOptionListProcessor()
No description
at line 338
string
getSerializeFormat()
Get current expected value format
at line 43
string
getUrl()
Get URL for Dynamic Choice Queries
in
FormComponent at line 156
string
get_description()
No description
in
FormComponent at line 257
mixed
get_display_value()
returns the displayed value
in
FormBase at line 217
array
get_group(string $prefix)
No description
in
FormBase at line 92
array
get_properties()
No description
in
FormComponent at line 56
array|bool
get_validation_options()
No description
in
FormComponent at line 175
get_value()
No description
in
FormComponent at line 48
bool
hasCombinedInputFields()
Does this component use combined input fields which required special handling from form?
in
FormComponent at line 651
protected bool
hasRequiredStyle()
Return if the component should be shown as required with specified style class.
in
FormComponent at line 32
void
init()
Init will be called AFTER __construct() and init_obj() with $this->form set
in
FormBase at line 39
init_obj()
Initializes the form base
in
FormComponent at line 549
$this
insertAfter(FormComponent $formComponent = null)
Insert this field after the specified field
in
FormComponent at line 534
$this
insertBefore(FormComponent $formComponent = null)
Insert this field before the specified field
in
FormComponent at line 374
bool
isReadonly()
Returns TRUE if field is readonly, FALSE otherwise.
in
FormBase at line 237
bool
is_displayed()
Checks if the field is hidden by a tag. It is important when validating
in
FormComponent at line 240
void
post_process()
No description
at line 342
void
process()
Process e.g. file upload, resize etc.
in
FormComponent at line 187
string
render(string|false $name = false, string|false $value = false)
No description
at line 171
mixed
save()
No description
in
FormBase at line 104
$this
set(string $propertyName, mixed $propertyValue)
No description
at line 34
FormChoice
setAdditionalUrlParams(array $additionalUrlParams)
No description
in
FormComponent at line 396
$this
setCSSClassName(string $class = null)
Set Field Row CSS class name
in
FormComponent at line 564
$this
setCustomErrorText(string $error_msg)
Show Custom Error Message for this field
in
FormComponent at line 385
FormComponent
setDefaultValue(mixed $value = null)
Set Field default value
in
FormComponent at line 418
$this
setDescriptionText(string $description = null)
Set Field Help Text
in
FormComponent at line 578
$this
setGridClass(string $gridClass = null)
Set Flexbox Grid Class
in
FormComponent at line 407
$this
setHelpText(string $help = null)
Set Field Help Text
at line 291
FormChoice
setHideDescription(bool $value = true)
No description
at line 306
FormChoice
setIsCompact(bool $bool = true)
Enable COMPACT Mode which displays the values in a tag like format with multiple values per line
in
FormComponent at line 341
$this
setIsDBField(bool $bool = true)
Field is to be loaded from and saved to database.
in
FormComponent at line 354
$this
setIsI18NField(bool $bool = true)
Field is considered to be translatable. This is usually determined automatically reading the instance configuration of the calling instance
at line 244
FormChoice
setIsMultiple(bool $bool = true)
Can user select multiple entries?
in
FormComponent at line 365
$this
setIsReadonly(bool $bool = true)
Consider Field as readonly
in
FormComponent at line 330
$this
setIsRequired(bool $bool = true, bool $onlyRequiredIfVisible = true)
Consider Field as required
in
FormComponent at line 293
$this
setLabel(string $label = '', string $icon_class = null)
Set Field label
in
FormComponent at line 308
$this
setLabelIconClass(string $icon_class = '')
Set label icon class
at line 262
FormChoice
setNoValue(string $value)
Set a value which should be shown when no item is selected
at line 280
FormChoice
setNoValueIcon(string $value)
Set an icon class if no value is being selected (displayed with novalue message)
at line 195
FormChoice
setOptionListAsDatasource(OptionList $optionList)
Sets the options for this field via the option list, that may contain several option objects.
at line 207
FormChoice
setOptionListPresetIcons()
No description
at line 221
FormChoice
setOptionListProcessor(OptionListProcessorInterface $processor)
No description
in
FormComponent at line 453
$this
setPopulateField(FormComponent $target, string $dataURL = null)
Manipulate another fields data when the value of the current field changes.
Common usage: Populate a second select once user chooses from the first select
in
FormComponent at line 429
$this
setPrefixHTML(string $html = null)
Add Custom HTML before the field element
at line 329
FormChoice
setSerializeFormat(string $serializeFormat = FormChoice::SERIALIZE_CSV)
Set format expected value format
in
FormComponent at line 440
$this
setSuffixHTML(string $html = null)
Add Custom HTML after the field element
in
FormComponent at line 467
$this
setVisibilityDependsOn(FormComponent $formComponent = null, array $matchingValues = [])
Set Visibility Dependency if you want your field only to be shown if another field has a specify value Array Syntax: tag, tag_source
in
FormComponent at line 491
$this
setVisibilityIsSource(bool $bool = true)
Set field to be the event source for another dependent field. Changes of this fields values will trigger events to their dependent fields and change their visibility in the frontend
Fields are automatically set to be a source if used in a call of setVisibilityDependsOn()
Array Syntax: tag_source
in
FormComponent at line 248
set_display_value(mixed $value)
set the displayed value
in
FormBase at line 153
void
set_properties(array $array)
No description
in
FormComponent at line 40
set_request_vars($request)
No description
in
FormValidationTrait at line 15
array
validate()
No description
in
FormComponent at line 639
protected bool
validateInFrontendAsRequired()
Should this field be marked with HTML5 required attribute? HTML5 required should not be used when field may be hidden, as it might still be required frontend-wise, even if hidden!
in
FormComponent at line 624
protected bool
validateInRequestAsRequired()
Should this field be treated as required during request validation?