UI Components
VGSTextInput
The VGSTextInput
component is a secure text input field designed for collecting sensitive data using the VGS Collect SDK. This component provides various features such as masking, validation, and tokenization to ensure the secure handling of sensitive information like payment card details, social security numbers, and more.
VGSTextInput props
VGSTextInput
has similar props to native iOS/Android TextField attributes.
The VGSTextInput
class provides built-in support for input text validation and formatting. You can set pre-defined configuration to each VGSTextInput
by setting the type
field.
Props
Description
collector
The VGSCollect
instance used to register the field.
fieldName
The string
name of the field. Should be same as in your Valut Route settings.
type
The VGSInputType
type of the input field (e.g., 'card', 'cvc', 'expDate', 'text'). Default is 'text'.
mask
The string
mask pattern for the input field (e.g., '#### #### #### ####' for card number).
divider
The string
divider to use when replacing non-mask characters on form submission.
serializers
An VGSSerializer[]
array of serializers for the input field.
validationRules
An ValidationRule[]
array of rules for the input field. Based on type
will have predefined values.
placeholder
The string
placeholder text for the input field.
keyboardType
The keyboard type for the input field(e.g., 'default'
secureTextEntry
The boolean
value whether the input field should have secure text entry (e.g., for passwords). Default is false.
autoCorrect
The boolean
value whether the input field should enable auto-correction. Default is false.
containerStyle
The object
style for the container view.
textStyle
The object
style for the text input.
tokenization
The false or TokenizationConfig
tokenization configuration for the input field.
onStateChange
A callback function that is invoked when the input field's state changes.
Methods
Methods
Description
focus()
Focuses the text input field.
blur()
Unfocuses the text input field.
Code example
import React from 'react';
import { View } from 'react-native';
import { VGSTextInput, VGSCollect } from '@vgs/collect-react-native';
import type { VGSTextInputState } from '@vgs/collect-react-native';
const MyComponent = () => {
const collector = new VGSCollect('your-vault-id', 'your-environment');
const handleStateChange = (state) => {
console.log('Input state changed:', state);
};
return (
<View>
<VGSTextInput
collector={collector}
fieldName="ssn"
type="ssn"
mask="###-##-####"
placeholder="Enter your SSN"
onStateChange={handleStateChange}
secureTextEntry={true}
autoCorrect={false}
containerStyle={{ margin: 10 }}
textStyle={{ fontSize: 18 }}
/>
</View>
);
};
export default MyComponent;
VGSTextInputState
The VGSTextInput
component manages its state internally and provides updates via the onStateChange callback. The state includes information such as:
Props
Description
isValid
boolean
: Whether the current input is valid based on the validation rules.
isDirty
boolean
: Whether the input field has been modified.
isEmpty
boolean
: Whether the input field is empty.
isFocused
boolean
: Whether the input field is focused.
inputLength
number
: The length of the current input.
validationErrors
string[]
: An array of validation errors.
fieldName
string
: The name of the field.
cardBrand
string
: The detected card brand (for card type). Available only for valid card numbers.
cardBin
string
: The BIN (Bank Identification Number) of the card (for card type). Available only for valid card numbers.
last4
string
: The last 4 digits of the card or SSN (for card or SSN type). Available only for valid card numbers or SSN.
VGSCardInput
The VGSCardInput
component is a version of the VGSTextInput
component, specifically designed for collecting and handling payment card information. It inherits all the functionality of VGSTextInput
and provides additional features tailored for card input fields.
VGSCardInput props
VGSCardInput
has similar props to VGSTextInput
. In addition, it detects the credit card brand while the user is typing data and displays the card brand image in the card input. All card brand images are included in the SDK, however you still can set your custom images.
Props
Description
iconWidth
The number
width of the card brand icon.
iconHeight
The number
height of the card brand icon.
iconPadding
The number
padding around the card brand icon.
iconPosition
The left
or right
or none
position of the card brand icon.
iconStyle
The object
style for the card brand icon.
VGSCVCInput
The VGSCVCInput
component is another specialized version of the VGSTextInput
component, designed for collecting and handling payment card security code information (CVC/CVV). It inherits all the functionality of VGSTextInput
and provides additional features tailored for card security code input fields.
VGSCVCInput props
VGSCVCInput
has similar props to VGSTextInput
. In addition, it displays a CVC image. The CVC image can change dynamically for a specific card brand (e.g. the CVC image for Amex contains 4 digits).
Props
Description
iconWidth
The number
width of the card brand icon.
iconHeight
The number
height of the card brand icon.
iconPadding
The number
padding around the card brand icon.
iconPosition
The left
or right
or none
position of the card brand icon.
iconStyle
The object
style for the card brand icon.
Last updated