:invalid
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Please take two minutes to fill out our short survey.
A pseudo-classe CSS :invalid
representa qualquer elemento <input>
ou <form>
cujo conteúdo não esteja válido.
/* Seleciona todos os inputs inválidos */
input:invalid {
background-color: pink;
}
Essa pseudo-classe é útil para usuário identificar quais campos foram preenchidos incorretamente.
Sintaxe
Exemplo
Esse exemplo apresenta um simples formulário onde a cor verde realça um input válido e a cor vermelha realça um input inválido.
HTML
<form>
<label for="url_input">Adicione uma URL:</label>
<input type="url" id="url_input" />
<br />
<br />
<label for="email_input">Adicione um endereço de email:</label>
<input type="email" id="email_input" required />
</form>
CSS
input:invalid {
background-color: #ffdddd;
}
form:invalid {
border: 5px solid #ffdddd;
}
input:valid {
background-color: #ddffdd;
}
form:valid {
border: 5px solid #ddffdd;
}
input:required {
border-color: #800000;
border-width: 3px;
}
input:required:invalid {
border-color: #c00000;
}
Resultado
Notas
Radio buttons
Se algum radio button de um grupo possuir o atributo required
, a pseudo-classe :invalid
é aplicada a todos se nenhum deles for selecionado. (Radio buttons agrupados compartilham o mesmo valor pelo atributo name
.)
Gecko defaults
Por padrão, Gecko não aplica o estilo para a pseudo-classe :invalid
. Entretanto, pode-se aplicar um estilo (um "brilho" vermelho usando a propriedade box-shadow
) à pseudo-classe :-moz-ui-invalid
, que são um conjunto que se aplicam como o :invalid
.
Você pode desabilitar o "brilho" usando o CSS a seguir, ou substituir completamente para alterar a aparência dos campos inválidos:
:invalid {
box-shadow: none;
}
:-moz-submit-invalid {
box-shadow: none;
}
:-moz-ui-invalid {
box-shadow: none;
}
Especificações
Specification |
---|
HTML # selector-invalid |
Selectors Level 4 # invalid-pseudo |
Compatibilidade com navegadores
Veja também
- Outras pseudo-classes relacionadas com validações:
:required
,:optional
,:valid
- Mozilla pseudo-classes relacionadas:
:-moz-ui-invalid
,:-moz-submit-invalid
- Form data validation