Class FormBase<DataShape>
Type Parameters
- DataShape extends object = Record<string, unknown>
Hierarchy
- default<DataShape>
- FormBase
Index
Constructors
Properties
Methods
Properties
__formhandler
errors: never[];
formid: string;
submitting: boolean;
target: string;
url: string;
warnings: never[];
} = ...
__schedule Update Conditions
Protected
_submitstart
Readonly
data
Readonly
elements
Protected
fieldmap
Field mapping. Uses original names
Protected
field Name
Readonly
node
pendingrpcs
Methods
Protected
__form Started
Returns void
_add Described By
Parameters
- contextnode: HTMLElement
- messageid: string
Returns void
_apply Prefills
Returns void
_check Click
Parameters
- evt: DocEvent<MouseEvent>
Returns void
_do Set Field Error
Parameters
- evt: DocEvent<CustomEvent<SetFieldErrorData>>
Returns void
_do Submit
Parameters
- evt: null | SubmitEvent
- extradata: unknown
Returns Promise<void>
_execute Next Validation
Returns Promise<void>
_execute Queued Validation
_flush PendingRPCs
Returns Promise<void>
_get Condition Raw Value
_get Fields To Validate
Parameters
Optional
startingpoint: HTMLElement
Returns HTMLElement[]
_get Page Title
Parameters
- pagenum: number
Returns string
_get Queryied Field Value
getValue from a field as returned by _queryAllFields (supporting both multilevel and plain fields)
Parameters
- field: FormControlDescription
Returns string[] | Promise<unknown>
promise
_get Variable Value For Conditions
_invokeRPC
Parameters
- background: boolean
- methodname: string
- args: unknown[]
Returns Promise<unknown>
_is Now Settable
Parameters
- node: HTMLElement
Returns boolean
_is Part Of Form
Parameters
- el: HTMLElement
Returns boolean
_matches Condition
Parameters
- conditiontext: undefined | string
Returns boolean
_matches Condition Recursive
Parameters
- condition: FormCondition
Returns boolean
_navigate To Thank You
Parameters
Optional
richvalues: RichValues
Returns void
_on Input Change
Returns void
_on Take Focus
Parameters
- evt: DocEvent<TakeFocusEvent>
Returns void
_process Field Value
_process Messages
Parameters
- messages: { data: unknown; field: string; prop: string }[]
Returns void
_query All Fields
- _queryAllFields(
options?: {
onlysettable?: boolean;
skiparraymembers?: boolean;
skipfield?: HTMLElement;
startnode?: HTMLElement;
},
): FormControlDescription[]Parameters
Optional
options: {
onlysettable?: boolean;
skiparraymembers?: boolean;
skipfield?: HTMLElement;
startnode?: HTMLElement;
}
Returns FormControlDescription[]
_remove Described By
Parameters
- contextnode: HTMLElement
- messageid: string
Returns void
_report Field Validity
Parameters
- node: HTMLElement
Returns boolean
false on error
_rewrite Enable On
Returns void
_submit
Parameters
- evt: null | SubmitEvent
- extradata: unknown
Returns Promise<void>
_submit Has Timed Out
Returns void
_update Conditions
Parameters
- isinit: boolean
Returns Promise<void>
_update Field Group Error State
Parameters
- field: HTMLElement
Returns void
_update Field Group Message State
- _updateFieldGroupMessageState(
field: HTMLElement,
type: "error" | "suggestion",
getError: (field: HTMLElement) => null | FormFrontendMessage,
): voidSet or update the message for the specified field
Parameters
- field: HTMLElement
node on which the validation triggered
- type: "error" | "suggestion"
type of the message ("error" or "suggestion") - a field or group can have both an "error" and "suggestion" visible
- getError: (field: HTMLElement) => null | FormFrontendMessage
function which returns a reference to the error node (or DocumentFragment) or a text
.wh-form__field--error - Used to indicate this element has an error .wh-form__field--suggestion - Used to indicate this element has an suggestion .wh-form__error - The error message container .wh-form_suggestion - The suggestion message container
Returns void
- field: HTMLElement
_update Field Group Suggestion State
Parameters
- field: HTMLElement
Returns void
_update Page Navigation
Returns void
_update Page Visibility
Parameters
- pagelist: HTMLElement[]
- currentpage: number
Returns void
_validate Single Field Ourselves
Parameters
- field: HTMLElement
Returns Promise<boolean>
assign
- assign(
data: RecursivePartial<DataShape>,
ignoreUnknownFields?: { ignoreUnknownFields?: boolean },
): voidSet a value for multiple fields
Parameters
- data: RecursivePartial<DataShape>
The data to set
- ignoreUnknownFields: { ignoreUnknownFields?: boolean } = {}
Do not throw if a field is not found in the form. This is the default
Returns void
- data: RecursivePartial<DataShape>
before Submit
Override beforeSubmit to have a last chance to block/confirm actual form submission
Parameters
- extradata: unknown
Returns boolean | Promise<boolean>
true to continue submitting
display Global Errors
Parameters
- globalerrors: FormSubmitMessage[]
Returns void
execute Form Action
Parameters
- action: string
Returns Promise<void>
fixup Merge Fields
Parameters
- nodes: HTMLElement[]
Returns Promise<void>
get Current Page
Returns null | HTMLElement
get Current Page Number
Get the current page number
Returns number
0-based index of page to jump to
get Element By Name
Parameters
- name: string
Returns null | FormControlElement | ConstrainedRadioNodeList
get Field
Get a field handler by name
Parameters
- name: string
- options: { allowMissing: true }
Returns null | FormField
Get a field handler by name
Parameters
- name: string
Optional
options: { allowMissing?: boolean }
Returns FormField
get Field Group
get the fieldgroup for an element
Parameters
- name: string
Returns null | HTMLElement
get Field Names
Returns string[]
get Field Value
Parameters
- field: HTMLElement
Returns Promise<unknown>
get First Failed Group
Returns null | Element
get Form Element Names
Return the names of all form elements
Returns string[]
get Form Extra Submit Data
Returns object | Promise<object>
get Form Value
Return a promise resolving to the submittable form value
Returns Promise<FormResultValue>
get Lang Code
Get language for this form
Returns string
get Options
getRPCForm Identifier
Returns RPCFormTarget
get Selected Option
- getSelectedOption(
name: string,
):
| null
| {
fieldline: null
| HTMLElement;
inputnode: Node & HTMLInputElement;
value: string;
}get the selected option associated with a radio/checkbox group. returns an object that's either null or the first selected option
Parameters
- name: string
Returns
| null
| {
fieldline: null
| HTMLElement;
inputnode: Node & HTMLInputElement;
value: string;
}
get Selected Options
- getSelectedOptions(
name: string,
): {
fieldline: null | HTMLElement;
inputnode: Node & HTMLInputElement;
value: string;
}[]gets the selected option associated with a radio/checkbox group as an array
Parameters
- name: string
Returns {
fieldline: null | HTMLElement;
inputnode: Node & HTMLInputElement;
value: string;
}[]
goto Page
Goto a specific page
Parameters
- page: number | HTMLElement
0-based index of page or the HTML element of the page to jump to
- __namedParameters: { __isSubmit?: boolean } = {}
Returns Promise<void>
- page: number | HTMLElement
invoke BackgroundRPC
Invoke a function on the form on the server, doesn't call .onRPC or request modality layers
Parameters
- methodname: string
Name of the function on the form
- ...args: unknown[]
Arguments for the function
Returns Promise<unknown>
Promise that resolves to the result of the rpc call
- methodname: string
invokeRPC
Invoke a function on the form on the server
Parameters
- methodname: string
- ...args: unknown[]
Arguments for the function
Returns Promise<unknown>
Promise that resolves to the result of the rpc call
onRPC
Parameters
- promise: Promise<void>
Returns void
on Submit Exception
Parameters
- e: Error
Returns void
on Submit Failed
Parameters
- errors: FormSubmitMessage[]
- result: unknown
Returns void
on Submit Success
- onSubmitSuccess(
result: {
resultsguid?: string;
richvalues?: RichValues;
submitinstruction?: NavigateInstruction;
submittype?: string;
},
): voidParameters
- result: {
resultsguid?: string;
richvalues?: RichValues;
submitinstruction?: NavigateInstruction;
submittype?: string;
}
Returns void
- result: {
process Field Message
Parameters
- field: string
- prop: string
- value: unknown
Returns void
refresh Conditions
Returns Promise<void>
reset
Returns void
reset Server Side Errors
Returns void
scroll Into View
Position the specified element's group or the form itself into view, using
.wh-anchor
nodes to correct for fixed headersParameters
Optional
scrollto: HTMLElementElement to position into view. If not set, the form it scrolled into view
Returns void
Protected
send Form Event
Parameters
Optional
event: FormAnalyticsSubEvents
Returns void
set Field Error
Parameters
- field: HTMLElement
- error: string
Optional
options: Partial<FieldErrorOptions>
Returns void
set Field Value
Parameters
- fieldnode: HTMLElement
- value: unknown
Returns void
submit
Parameters
Optional
extradata: object
Returns Promise<{ result?: FormSubmitEmbeddedResult }>
update Rich Values
Parameters
- page: HTMLElement
Optional
richvalues: RichValues
Returns void
validate
validate the form
Parameters
Optional
limitset: LimitSetA single element, nodelist or array of elements to validate (or their children)
Optional
options: ValidationOptions
Returns Promise<ValidationResult>
a promise that will fulfill when the form is validated
validate And Submit
Parameters
- extradata: unknown
Returns Promise<void>
validate Single Form Field
Parameters
- field: HTMLElement
Returns Promise<boolean>
Deprecated
Use node.elements if you want a true HTMLFormControlsCollection, use getElementByName since WH5.4+ for properly typed elements