# react-native-form-component **Repository Path**: kitchenliang/react-native-form-component ## Basic Information - **Project Name**: react-native-form-component - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-22 - **Last Updated**: 2024-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # react-native-form-component A customizable form component for react-native.
It handles basic validation of inputs, and also alerts you of failed validations.
![WhatsApp Image 2021-09-28 at 6 30 53 PM](https://user-images.githubusercontent.com/34392299/135331616-78e74fb6-2e89-4529-9bb3-e50b99213adc.jpeg) ![ezgif com-gif-maker](https://user-images.githubusercontent.com/34392299/135331258-525de545-1937-40dc-8225-122d9a102572.gif)
## Installation ```sh yarn add react-native-form-component ``` ## Functions | Name | Description | | ---------- | --------------------------------------------------------------------------------------------------------------------------- | | submitForm | Does the same thing as `onButtonPress()` in `Form` component. It does validation first, then carries out the defined action |
## Components - [Form](#form) - [FormItem](#formitem) - [Label](#label) - [Modal](#Modal) - [Picker](#Picker) - [PinInput](#PinInput) ### Form Wrapper component for form items. It is advised to use this component to wrap every other component contained in this library. The `Form` component comes with a button that does validation of `FormItem`s when clicked. The default validation for each `FormItem` is based on the value of its keyboardType prop. ```jsx import { Form, FormItem } from 'react-native-form-component'; //... return (
console.warn('do something')}> ); ``` ### Props | Prop | Function | Type | Default | Platform | | ---------------------- | ------------------------------------------------------------------------------------------------------ | ------------------ | ------- | -------- | | keyboardVerticalOffset | Distance between the top of the user screen and the Form component, may be non-zero in some use cases. | number | 50 | iOS | | buttonText | Text to be displayed by submit button | string | Submit | All | | buttonStyle | Style of submit button | object \| object[] | - | All | | buttonTextStyle | Style of submit button text | object \| object[] | - | All | | onButtonPress | Action to be performed when submit button is pressed | () => void | - | All | | style | Style Form wrapper | ViewStyle | {} | All | | hideSubmitButton | To not render the submit button | boolean | false | All |
### FormItem ```jsx import React, { useRef } from 'react'; import { FormItem } from 'react-native-form-component'; //... const emailInput = useRef(); return ( //... setEmail(email)} asterik ref={emailInput} /> ); ``` ### Props Inherits [TextInput Props](https://reactnative.dev/docs/textinput#props) | Prop | Function | Type | Required | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | -------- | | ref | ref for item | React.Ref | yes | | value | Value to show for the `FormItem` | string | yes | | label | Label for FormItem | string | no | | labelStyle | Style of label | object \| object[] | no | | textInputStyle | Style of TextInput portion of `FormItem` | object \| object[] | no | | isRequired | Indicates whethter this item is required or not | boolean | no | | underneathText | Text just below the `FormItem` | string | no | | underneathTextStyle | Style of underneathText | object \| object[] | no | | customValidation | A function used to add custom validation to a `FormItem`. The function returns an object of the shape `{status: boolean, message: string}`. `status` is true when the validation passes and false when it fails. `message` is the underneath text to be shown when validation fails. | () => {status: boolean, message: string} | no | | asterik | Whether or not to add an asterik to label | boolean | no | | children | A ReactElement to render on the left part of the TextInput. Usually an icon | ReactElement | no | | floatingLabel | Whether or not the label should float | boolean | no | | textArea | Whether or not the input should be a textArea | boolean | no | | showErrorIcon | Whether or not to show an icon when an error occurs | boolean | no | | errorBorderColor | Set the color of the border when an error occurs | string | no | | showIcon | Icon to be rendered when secureTextEntry is true and you want password to be visible | JSX.Element | no | | hideIcon | Icon to be rendered when secureTextEntry is true and you want password to be hidden | JSX.Element | no |
### Label ```jsx import { Label } from 'react-native-form-component'; //... return ( //...