import { useEffect, useState } from 'react'; import { Form, FormGroup, FormHelperText, TextInput, HelperText, HelperTextItem } from '@patternfly/react-core'; export const HelperTextStaticTextDynamicVariant: React.FunctionComponent = () => { const [value, setValue] = useState(''); const [inputValidation, setInputValidation] = useState({ ruleLength: 'indeterminate', ruleCharacterTypes: 'indeterminate' }); const { ruleLength, ruleCharacterTypes } = inputValidation; useEffect(() => { let lengthVariant = ruleLength; let typeVariant = ruleCharacterTypes; if (value === '') { setInputValidation({ ruleLength: 'indeterminate', ruleCharacterTypes: 'indeterminate' }); return; } if (!/\d/g.test(value)) { typeVariant = 'error'; } else { typeVariant = 'success'; } if (value.length < 5) { lengthVariant = 'error'; } else { lengthVariant = 'success'; } setInputValidation({ ruleLength: lengthVariant, ruleCharacterTypes: typeVariant }); }, [value, ruleLength, ruleCharacterTypes]); const handleInputChange = (_event, inputValue: string) => { setValue(inputValue); }; const filterValidations = () => Object.keys(inputValidation).filter((item) => inputValidation[item] !== 'success'); return (
Must be at least 5 characters in length Must include at least 1 number
); };