RHFCheckbox
The RHFCheckbox component renders a checkbox, allowing users to toggle options on or off, such as subscribing to newsletters. It extends the Checkbox component from MUI, accepting most of its props and offering similar customization options.
Usage
import RHFCheckbox, { RHFCheckboxProps } from '@nish1896/rhf-mui-components/mui/checkbox';
<RHFCheckbox
fieldName="agreeTnC"
control={control}
label="Agree to Terms & Conditions"
errorMessage={errors?.agreeTnC?.message}
/>
Examples
API
RHFCheckboxProps
extends CheckboxProps
and accepts the following additional props:
Name | Type | Required | Description |
---|---|---|---|
fieldName | string | ✅ | React Hook Form requires name as a key for the registration process. This is a required prop for all components. |
control | UseFormControl | ✅ | The control option yielded on calling the useForm hook. |
registerOptions | RegisterOptions | Register options for validation if using react-hook-form without any validation libraries like yup or Joi. | |
onValueChange | (isChecked: boolean, e: ChangeEvent) => void | An optional callback function which returns the state of the checkbox. | |
label | ReactNode | The text to render in FormLabel component. By default, the value of fieldName such as firstName will be transformed to display "First Name". | |
formControlLabelProps | FormControlLabelProps | FormControlLabelProps to customise FormControlLabel component for a field. Multiple fields can be configured using the ConfigProvider component. | |
helperText | ReactNode | The content to display within the FormHelperText component below the field. If the field validation fails, this content will be overridden by the corresponding error message. | |
errorMessage | ReactNode | Error message to be shown for a field in FormHelperText component. | |
hideErrorMessage | boolean | A flag to prevent replacement of helper text of a field by the error message when the validation is triggered. | |
formHelperTextProps | FormHelperTextProps | FormHelperTextProps to customise FormHelperText component for a field. Multiple fields can be configured using the ConfigProvider component. |