Form Component
Purpose
Form Component is a component that wraps a form.
Example
component: form
name: myForm
props:
initialValue:
firstName: John
lastName: Doe
onSubmit:
- notification:
message: "Form submitted successfully!"
variant: success
validationSchema:
firstName:
required:
message: First Name is required
min:
length: 2
message: First Name should be more than 2 characters
phoneNumbers:
type: array
min:
length: 1
message: At least one phone number is required
itemSchema:
type: string
required:
message: Phone number is required
contacts:
type: array
min:
length: 1
message: At least one contact is required
itemSchema:
type: object
schema:
name:
required:
message: Name is required
phone:
required:
message: Phone is required
children:
- component: field
name: firstName
props:
label: First Name
type: text
placeholder: Enter your first name
- component: field
name: lastName
props:
label: Last Name
type: text
placeholder: Enter your last name
prefix
The prefix property is used to prefix the name of the fields.
component: form
name: myForm
props:
prefix: user
All the fields inside the form will be prefixed with user.
Props
initialValue(object): The initial value of the form. Default is{}.prefix(string): The prefix to be used for the fields inside the form. Default is''.queries(array): The queries to be used to populate the form. Default is[].validationSchema(object): The validation schema to be used for the form. Default is{}.onLoad(function): Actions to be performed when the form is loaded. Default is[].onSubmit(function): Actions to be performed when the form is submitted. Default is[].onCancel(function): Actions to be performed when the form is canceled. Default is[].
initialValue
The initialValue property is used to set the initial value of the form.
component: form
name: myForm
props:
initialValue:
firstName: John
lastName: Doe
initialValue from query
The initialValue property can be set from a query.
component: form
name: myForm
props:
initialValues:
fromQuery:
name: getCountry
path: country
queries:
- name: getCountry
query:
command: >-
query($organizationId: Int!, $countryCode: String!) {
country(organizationId: $organizationId, countryCode: $countryCode) {
organizationId
countryCode
created
createdBy
customValues
lastModified
lastModifiedBy
name
}
}
variables:
organizationId: "{{number organizationId }}"
countryCode: "{{string countryCode }}"