Skip to Content
✨ QuickCode UI keeps growing! More components, more features, and more ways to make your projects shine. Stay tuned & maybe… hire me or sponsor me 😉 
DocumentationAdvanced Form

Advanced Form

A comprehensive, configuration-driven form component with built-in validation, multi-step support, and 16+ field types.

Install Dependencies

npx
quickcode-ui add AdvancedForm

Examples

Comprehensive Multi-Step Form

Complete Advanced Form

Job Application Form

Job Application Form

User Profile Form

Profile Form with Image Support

API Reference

AdvancedForm (Root)

PropTypeDefaultDescription
childrenReact.ReactNodeForm components
onSubmit(data: Record<string, any>) => voidRequiredCalled when form is submitted
onChange(data: Record<string, any>) => voidundefinedCalled when any field value changes
initialValuesRecord<string, any>{}Initial form values
autoSavebooleanfalseEnable localStorage auto-save
autoSaveKeystringundefinedCustom localStorage key
loadingbooleanfalseDisable all inputs
isFormLoadingbooleanfalseShow skeleton loader
skeletonPropsFormSkeletonPropsundefinedSkeleton configuration
classNamestringundefinedAdditional CSS classes

AdvancedForm.Header

PropTypeDefaultDescription
titlestringundefinedHeader title
descriptionstringundefinedHeader description
logostringundefinedLogo image URL
logoClassNamestringundefinedLogo CSS classes
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeundefinedCustom header content

AdvancedForm.StepperProgress

PropTypeDefaultDescription
size"sm" | "md" | "lg""md"Stepper size
showLabelsbooleantrueShow step labels
classNamestringundefinedAdditional CSS classes

AdvancedForm.Step

PropTypeDefaultDescription
idstringRequiredUnique step identifier
titlestringRequiredStep title
descriptionstringundefinedStep description
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeStep content

AdvancedForm.Group

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeGroup content

AdvancedForm.Field

PropTypeDefaultDescription
idstringRequiredField identifier
validationFormFieldValidationundefinedValidation rules
defaultValueanyundefinedDefault field value
conditional(values: Record<string, any>) => booleanundefinedShow/hide field conditionally
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeField content

AdvancedForm.Label

PropTypeDefaultDescription
requiredbooleanfalseShow required asterisk
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeLabel text

AdvancedForm.Description

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeDescription text

AdvancedForm.Error

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes

AdvancedForm.Input

PropTypeDefaultDescription
typestring"text"Input type
placeholderstringundefinedPlaceholder text
onChange(e: ChangeEvent<HTMLInputElement>) => voidundefinedChange handler
classNamestringundefinedAdditional CSS classes
…propsInputHTMLAttributesAll input props supported

AdvancedForm.Textarea

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
onChange(e: ChangeEvent<HTMLTextAreaElement>) => voidundefinedChange handler
classNamestringundefinedAdditional CSS classes
…propsTextareaHTMLAttributesAll textarea props

AdvancedForm.PasswordInput

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
onChange(e: ChangeEvent<HTMLInputElement>) => voidundefinedChange handler
classNamestringundefinedAdditional CSS classes
…propsInputHTMLAttributesAll input props supported

AdvancedForm.Checkbox

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeundefinedCheckbox label
…propsCheckboxPropsAll checkbox props

AdvancedForm.Switch

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeundefinedSwitch label
…propsSwitchPropsAll switch props

AdvancedForm.RadioGroup

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeRadioGroup.Item children

AdvancedForm.RadioGroup.Item

PropTypeDefaultDescription
valuestringRequiredRadio item value
idstringRequiredRadio item id
labelstringRequiredRadio item label

AdvancedForm.Select

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeSelectItem children

AdvancedForm.Select.Item

PropTypeDefaultDescription
valuestringRequiredSelect item value
disabledbooleanfalseDisable option
childrenstringRequiredSelect item label

AdvancedForm.MultiSelect

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeMultiSelectItem children

AdvancedForm.MultiSelect.Item

PropTypeDefaultDescription
valuestringRequiredMulti-select item value
disabledbooleanfalseDisable option
childrenstringRequiredMulti-select item label

AdvancedForm.Slider

PropTypeDefaultDescription
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
showValuebooleantrueDisplay current value
classNamestringundefinedAdditional CSS classes

AdvancedForm.RangeSlider

PropTypeDefaultDescription
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
showValuebooleantrueDisplay range values
classNamestringundefinedAdditional CSS classes

AdvancedForm.CheckboxGroup

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeCheckboxGroup.Item children

AdvancedForm.CheckboxGroup.Item

PropTypeDefaultDescription
valuestringRequiredCheckbox item value
labelstringRequiredCheckbox item label
disabledbooleanfalseDisable option

AdvancedForm.MultiInput

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
maxnumberundefinedMaximum number of items
classNamestringundefinedAdditional CSS classes

AdvancedForm.DatePicker

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
includeTimebooleanfalseInclude time picker
minDateDateundefinedMinimum selectable date
maxDateDateundefinedMaximum selectable date
classNamestringundefinedAdditional CSS classes

AdvancedForm.DateRangePicker

PropTypeDefaultDescription
placeholderstringundefinedPlaceholder text
minDateDateundefinedMinimum selectable date
maxDateDateundefinedMaximum selectable date
classNamestringundefinedAdditional CSS classes

AdvancedForm.FileInput

PropTypeDefaultDescription
onChange(e: ChangeEvent<HTMLInputElement>) => voidundefinedChange handler
classNamestringundefinedAdditional CSS classes
…propsInputHTMLAttributesAll input props supported

AdvancedForm.ImageInput

PropTypeDefaultDescription
previewUrlstringundefinedDefault preview image URL
onChange(e: ChangeEvent<HTMLInputElement>) => voidundefinedChange handler
classNamestringundefinedAdditional CSS classes
…propsInputHTMLAttributesAll input props supported

AdvancedForm.Actions

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeAction buttons

AdvancedForm.BackButton

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNode"Back"Button text

AdvancedForm.NextButton

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNode"Next"Button text

AdvancedForm.SubmitButton

PropTypeDefaultDescription
isLoadingbooleanfalseShow loading state
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNode"Submit"Button text

AdvancedForm.ResetButton

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNode"Reset"Button text

AdvancedForm.Form

PropTypeDefaultDescription
onSubmit(data: Record<string, any>) => voidRequiredForm submit handler
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeForm content

AdvancedForm.Footer

PropTypeDefaultDescription
classNamestringundefinedAdditional CSS classes
childrenReact.ReactNodeFooter content

FormFieldValidation

PropertyTypeDefaultDescription
requiredbooleanfalseField is required
minLengthnumberundefinedMinimum string length
maxLengthnumberundefinedMaximum string length
minnumberundefinedMinimum numeric value
maxnumberundefinedMaximum numeric value
patternRegExpundefinedRegex validation pattern
overridebooleanfalseOverride default type validation
custom(value: any) => string | nullundefinedCustom validation function
requiredErrorstringundefinedCustom required error message
minLengthErrorstringundefinedCustom min length error message
maxLengthErrorstringundefinedCustom max length error message
minErrorstringundefinedCustom min value error message
maxErrorstringundefinedCustom max value error message
patternErrorstringundefinedCustom pattern error message
emailErrorstringundefinedCustom email error message
urlErrorstringundefinedCustom URL error message
telErrorstringundefinedCustom phone error message
passwordErrorstringundefinedCustom password error message
customFileErrorstringundefinedCustom file error message
maxSizenumberundefinedMax file size in bytes
acceptedTypesstring[]undefinedAccepted file types
Last updated on