Removes nested ternary in CredentialField validate param by moving logic out to a function and making it a little more readable.

This commit is contained in:
mabashian
2020-06-08 15:30:47 -04:00
parent b5ce1fe2f3
commit 7fefea31c0

View File

@@ -76,19 +76,20 @@ function CredentialField({ credentialType, fieldOptions, i18n }) {
const { values: formikValues } = useFormikContext(); const { values: formikValues } = useFormikContext();
const requiredFields = credentialType?.inputs?.required || []; const requiredFields = credentialType?.inputs?.required || [];
const isRequired = requiredFields.includes(fieldOptions.id); const isRequired = requiredFields.includes(fieldOptions.id);
const [subFormField, meta, helpers] = useField({ const validateField = () => {
name: `inputs.${fieldOptions.id}`, if (isRequired && !formikValues?.passwordPrompts[fieldOptions.id]) {
validate: const validationMsg = fieldOptions.ask_at_runtime
isRequired && !formikValues?.passwordPrompts[fieldOptions.id]
? required(
fieldOptions.ask_at_runtime
? i18n._( ? i18n._(
t`Provide a value for this field or select the Prompt on launch option.` t`Provide a value for this field or select the Prompt on launch option.`
) )
: null, : null;
i18n return required(validationMsg, i18n);
) }
: null, return null;
};
const [subFormField, meta, helpers] = useField({
name: `inputs.${fieldOptions.id}`,
validate: validateField(),
}); });
const isValid = !(meta.touched && meta.error); const isValid = !(meta.touched && meta.error);