--- title: ValidityState slug: Web/API/ValidityState tags: - API - Forms - HTML DOM - HTML5 - Interface - Validation translation_of: Web/API/ValidityState --- <div>{{APIRef("HTML DOM")}} {{gecko_minversion_header("2.0")}}</div> <p>A interface <strong><code>ValidityState</code></strong> representa os estados de validação que um elemento<em> </em><br> pode conter de acordo com as propriedades de validação abaixo. Juntas, elas podem explicar porque um elemento é inválido (caso seja) ao ser validado.</p> <h2 id="Propriedades">Propriedades</h2> <p>Para cada uma das propriedades Booleanas abaixo, caso retorne <code><strong>true</strong></code>, isso indica a razão específica porque a validação falhou, exceto no caso da propriedade <em>valid</em>, que retorna <strong><code>true</code></strong> no caso do elemento ser completamente válido e <strong><code>false</code></strong> caso contrário.</p> <dl> <dt>{{domxref("ValidityState.badInput")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o usuário inseriu um valor que o navegador é incapaz de converter.</dd> <dt>{{domxref("ValidityState.customError")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o elemento possui uma mensagem de validação definida por <code>setCustomValidity()</code> para um valor não vázio.</dd> <dt>{{domxref("ValidityState.patternMismatch")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor não combina com o padrão ({{htmlattrxref("pattern", "input")}}) especificado.</dd> <dt>{{domxref("ValidityState.rangeOverflow")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor é maior do que o máximo especificado pelo atributo {{htmlattrxref("max", "input")}}.</dd> <dt>{{domxref("ValidityState.rangeUnderflow")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor é menor do que o mínimo especificado pelo atributo {{htmlattrxref("min", "input")}}.</dd> <dt>{{domxref("ValidityState.stepMismatch")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor não segue a regra definida pelo atributo {{htmlattrxref("step", "input")}}.</dd> <dt>{{domxref("ValidityState.tooLong")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor ultrapassa o especificado pelo atributo <code>maxlength</code> para {{domxref("HTMLInputElement")}} ou {{domxref("HTMLTextAreaElement")}}. <em><strong>OBS:</strong> Isso nunca será <code>true</code> em navegadores como o Firefox, pois a inserção de valores não é permitida ao alcançar o valor definido em <code>maxlength</code>.</em></dd> <dt>{{domxref("ValidityState.tooShort")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor não corresponde ao especificado no atributo <code>minlength</code> para {{domxref("HTMLInputElement")}} ou {{domxref("HTMLTextAreaElement")}}.</dd> <dt>{{domxref("ValidityState.typeMismatch")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o valor não corresponde ao tipo de entrada definida. (Um exemplo é quando {{htmlattrxref("type", "input")}} é <code>email</code> ou <code>url</code>).</dd> <dt>{{domxref("ValidityState.valid")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando se o elemento é completamente válido.</dd> <dt>{{domxref("ValidityState.valueMissing")}} {{ReadOnlyInline}}</dt> <dd>É um {{jsxref("Boolean")}} informando que o elemento tem o atributo {{htmlattrxref("required", "input")}}, mas não tem {{htmlattrxref("value", "input")}}.</dd> </dl> <h2 id="Especificações">Especificações</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Especificação</th> <th scope="col">Status</th> <th scope="col">Comentário</th> </tr> <tr> <td>{{ SpecName('HTML WHATWG', 'forms.html#the-constraint-validation-api', 'ValidityState') }}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td>Live Standard</td> </tr> <tr> <td>{{ SpecName('HTML5.1', '#the-constraint-validation-api', 'ValidityState') }}</td> <td>{{Spec2('HTML5.1')}}</td> <td>No change from the previous snapshot {{SpecName('HTML5 W3C')}}.</td> </tr> <tr> <td>{{ SpecName('HTML5 W3C', 'forms.html#the-constraint-validation-api', 'ValidityState') }}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>First snapshot of {{SpecName('HTML WHATWG')}} containing this interface.</td> </tr> </tbody> </table> <h2 id="Browser_compatibility">Compatibilidade com navegadores</h2> <p>{{Compat("api.ValidityState")}}</p> <h2 id="Veja_também">Veja também</h2> <ul> <li><a href="/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation">Constraint validation</a></li> <li><a href="/en-US/docs/Web/Guide/HTML/Forms/Data_form_validation">Forms: Data form validation</a></li> </ul>