in packages/ui/src/machines/authenticator/defaultServices.ts [63:91]
async validateConfirmPassword<Validator>(
formData,
touchData
): Promise<ValidatorResult> {
const { password, confirm_password } = formData;
const {
confirm_password: touched_confirm_password,
password: touched_password,
} = touchData;
if (!password && !confirm_password) {
// these inputs are clean, don't complain yet
return null;
} else if (
(password || confirm_password) &&
password !== confirm_password &&
((touched_confirm_password && touched_password) ||
(password.length >= 6 && confirm_password.length >= 6))
) {
// Only return an error if both fields have text entered,
// the passwords do not match, and the fields have been
// touched or the password and confirm password is longer then or equal to 6.
return {
confirm_password: 'Your passwords must match',
};
}
},