Oi, Sérgio! Tudo bom?
A API de validação de JavaScript compreende os seguintes possíveis erros:
| Propriedade | Descrição |
|---|
| customError | Defina como verdadeiro, se uma mensagem de validade personalizada for definida. |
| patternMismatch | Definido como verdadeiro, se o valor de um elemento não corresponder ao seu atributo padrão. |
| rangeOverflow | Definido como verdadeiro, se o valor de um elemento for maior que seu atributo máximo. |
| rangeUnderflow | Definido como verdadeiro, se o valor de um elemento for menor que seu atributo mínimo. |
| stepMismatch | Definido como verdadeiro, se o valor de um elemento for inválido por seu atributo de etapa. |
| tooLong | Definido como verdadeiro, se o valor de um elemento exceder seu atributo maxLength. |
| typeMismatch | Definido como verdadeiro, se o valor de um elemento for inválido por seu atributo de tipo. |
| valueMissing | Definido como verdadeiro, se um elemento (com um atributo obrigatório) não tiver valor. |
| valid | Defina como verdadeiro, se o valor de um elemento for válido. |
Como tanto o CPF quando a idade são validações customizadas, pra nós conseguirmos que esse erro seja detectado, precisamos criar uma mensagem customizada. Ao usar o setCustomValidity na função de verificação deles, eu consigo transformar o erro customError como true, assim barrando o cadastro do usuário.
No final, essa não é a mensagem que aparece na tela (o que pode causar a confusão) do curso, então você poderia colocar qualquer frase dentro desse setCustomValidity que funcionaria igual pro intuito de confirmar pro js que tem um erro ali kkk
Bons estudos!