Form
class Form extends Container implements HtmlStringable
Creates, validates and renders HTML forms.
Constants
| Equal |
validator |
| IsIn |
validator |
| NotEqual |
validator |
| IsNotIn |
validator |
| Filled |
validator |
| Blank |
validator |
| Required |
validator |
| Valid |
validator |
| Submitted |
validator |
| MinLength |
validator |
| MaxLength |
validator |
| Length |
validator |
|
validator |
|
| URL |
validator |
| Pattern |
validator |
| PatternInsensitive |
validator |
| Integer |
validator |
| Numeric |
validator |
| Float |
validator |
| Min |
validator |
| Max |
validator |
| Range |
validator |
| Count |
validator |
| MaxFileSize |
validator |
| MimeType |
validator |
| Image |
validator |
| MaxPostSize |
validator |
| Get |
method |
| Post |
method |
| DataText |
submitted data types |
| DataLine |
submitted data types |
| DataFile |
submitted data types |
| DataKeys |
submitted data types |
| internal TrackerId |
|
| internal ProtectorId |
|
| deprecated EQUAL |
|
| deprecated IS_IN |
|
| deprecated NOT_EQUAL |
|
| deprecated IS_NOT_IN |
|
| deprecated FILLED |
|
| deprecated BLANK |
|
| deprecated REQUIRED |
|
| deprecated VALID |
|
| deprecated SUBMITTED |
|
| deprecated MIN_LENGTH |
|
| deprecated MAX_LENGTH |
|
| deprecated LENGTH |
|
| deprecated EMAIL |
|
| deprecated PATTERN |
|
| deprecated PATTERN_ICASE |
|
| deprecated INTEGER |
|
| deprecated NUMERIC |
|
| deprecated FLOAT |
|
| deprecated MIN |
|
| deprecated MAX |
|
| deprecated RANGE |
|
| deprecated COUNT |
|
| deprecated MAX_FILE_SIZE |
|
| deprecated MIME_TYPE |
|
| deprecated IMAGE |
|
| deprecated MAX_POST_SIZE |
|
| deprecated GET |
|
| deprecated POST |
|
| deprecated DATA_TEXT |
|
| deprecated DATA_LINE |
|
| deprecated DATA_FILE |
|
| deprecated DATA_KEYS |
|
| deprecated TRACKER_ID |
|
| deprecated PROTECTOR_ID |
|
Properties
| $onSuccess | Occurs when the form is submitted and successfully validated |
||
| $onError | |||
| $onSubmit | |||
| $onRender | |||
| internal | $httpRequest | ||
| protected bool | $crossOrigin | ||
| string | $action | ||
| string | $method | ||
| string[] read-only | $errors | ||
| (string|Stringable)[] read-only | $ownErrors | ||
| Html read-only | $elementPrototype | ||
| FormRenderer read-only | $renderer |
Methods
No description
Returns form.
No description
No description
Checks if the request method is the given one.
Sets a form-level HTML attribute.
Disables the SameSite cookie CSRF protection, allowing cross-origin form submissions.
Adds a CSRF protection token field using a SameSite cookie.
Creates a new control group and optionally sets it as current for subsequent addXxx() calls.
Removes a group and all its controls from the form.
Returns all defined groups.
Returns the specified group.
No description
No description
Checks whether the form is attached to a request (always true for standalone forms).
Returns the submitter control if the form was submitted, or false.
Tells if the form was submitted and successfully validated.
No description
Returns raw submitted HTTP data for a control, or all form data when called without arguments.
Fires onSuccess, onError, onSubmit and onClick events based on submission and validation state.
Internal: returns submitted HTTP data or null when form was not submitted.
No description
No description
Adds a form-level (not control-level) error message.
Returns all validation errors (own form errors merged with control errors).
No description
No description
Returns form-level errors only, excluding control errors.
Returns form's HTML element template.
No description
No description
No description
Triggers beforeRender() and onRender events. Must be called before manual rendering (when not using render()).
No description
No description
Returns current visibility states of all toggle targets across all controls.
Initializes HTTP request and SameSite CSRF cookie for standalone (non-DI) usage.
Details
at line 225
__construct(string|null $name = null)
No description
at line 241
Form|null
getForm(bool $throw = true)
Returns form.
at line 247
Form
setAction(string|Stringable $url)
No description
at line 254
string
getAction()
No description
at line 260
Form
setMethod(string $method)
No description
at line 271
string
getMethod()
No description
at line 280
bool
isMethod(string $method)
Checks if the request method is the given one.
at line 289
Form
setHtmlAttribute(string $name, mixed $value = true)
Sets a form-level HTML attribute.
at line 299
void
allowCrossOrigin()
Disables the SameSite cookie CSRF protection, allowing cross-origin form submissions.
at line 308
CsrfProtection
addProtection(string|null $errorMessage = null)
Adds a CSRF protection token field using a SameSite cookie.
at line 321
ControlGroup
addGroup(string|Stringable|null $caption = null, bool $setAsCurrent = true)
Creates a new control group and optionally sets it as current for subsequent addXxx() calls.
at line 340
void
removeGroup(ControlGroup $name)
Removes a group and all its controls from the form.
at line 365
array
getGroups()
Returns all defined groups.
at line 374
ControlGroup|null
getGroup(string|int $name)
Returns the specified group.
at line 383
Form
setTranslator(Translator|null $translator)
No description
at line 390
Translator|null
getTranslator()
No description
at line 402
bool
isAnchored()
Checks whether the form is attached to a request (always true for standalone forms).
at line 411
SubmitterControl|bool
isSubmitted()
Returns the submitter control if the form was submitted, or false.
at line 424
bool
isSuccess()
Tells if the form was submitted and successfully validated.
at line 433
Form
setSubmittedBy(SubmitterControl|null $by)
| internal |
No description
at line 444
FileUpload|null
getHttpData(int|null $type = null, string|null $htmlName = null)
Returns raw submitted HTTP data for a control, or all form data when called without arguments.
at line 471
void
fireEvents()
Fires onSuccess, onError, onSubmit and onClick events based on submission and validation state.
at line 538
Form
reset()
Clears the submission state and resets all control values to defaults.
at line 550
protected array|null
receiveHttpData()
Internal: returns submitted HTTP data or null when form was not submitted.
at line 584
void
validate(array|null $controls = null)
No description
at line 597
void
validateMaxPostSize()
| internal |
No description
at line 613
void
addError(string|Stringable $message, bool $translate = true)
Adds a form-level (not control-level) error message.
at line 627
array
getErrors()
Returns all validation errors (own form errors merged with control errors).
at line 633
bool
hasErrors()
No description
at line 639
void
cleanErrors()
No description
at line 649
array
getOwnErrors()
Returns form-level errors only, excluding control errors.
at line 661
Html
getElementPrototype()
Returns form's HTML element template.
at line 673
Form
setRenderer(FormRenderer|null $renderer)
No description
at line 680
FormRenderer
getRenderer()
No description
at line 690
protected
beforeRender()
No description
at line 698
void
fireRenderEvents()
Triggers beforeRender() and onRender events. Must be called before manual rendering (when not using render()).
at line 708
void
render(mixed ...$args)
No description
at line 715
string
__toString()
No description
at line 726
array
getToggles()
Returns current visibility states of all toggle targets across all controls.
at line 745
static void
initialize(bool $reinit = false)
Initializes HTTP request and SameSite CSRF cookie for standalone (non-DI) usage.