O método setCustomValidity é usado em formulários HTML em conjunto com JavaScript para validar dados de entrada do usuário antes do envio do formulário. Ele permite definir uma mensagem de erro personalizada para ser exibida ao usuário se um determinado critério de validação não for atendido.
Por exemplo, se quisermos garantir que um campo de senha tenha pelo menos oito caracteres, uma letra maiúscula e um número, podemos usar o seguinte código JavaScript:
const passwordField = document.getElementById('password');
passwordField.addEventListener('input', function() {
const password = passwordField.value;
if (password.length < 8 || !/\d/.test(password) || !/[A-Z]/.test(password)) {
passwordField.setCustomValidity('A senha deve ter pelo menos 8 caracteres, uma letra maiúscula e um número.');
} else {
passwordField.setCustomValidity('');
}
});
Nesse exemplo, o método setCustomValidity é usado para definir uma mensagem de erro personalizada se a senha inserida pelo usuário não atender aos critérios de validação definidos. Se a senha atender aos critérios de validação, o método é chamado novamente com uma string vazia para indicar que o campo de entrada é válido.