validate-jjrdev v1.0.4
Validate.js - Validação de formulário em JavaScript
O pacote Validate.js fornece uma validação simples e personalizada para formulários HTML em JavaScript puro.
Baixando
NPM
Utilize o comando npm i validate-jjrdev para instalar o pacote Validate.js.
GitHub
Baixe o arquivo diretamente do repositório GitHub clicando aqui.
Instalando
O pacote Validate.js possui suporte para uso Asynchronous Module Definition padrão do JavaScript para uso na tag <script>:
Arquivo local
<script src="./validate.js"></script>CDN
<script src="https://cdn.jsdelivr.net/npm/validate-jjrdev@latest/validate.js"></script>Defina a versão manualmente alterando
latestpara a versão desejada.
Usando
A validação do formulário deve ser realizada da seguinte forma:
const validate = new Validate();
validate.form("form#validate", {
rules: {
// Regras de validação
},
messages: {
// Mensagens de validação
},
submitHandler: (data, form) => {
// Callback de sucesso
},
});Regras
As regras de cada campo do formulário deve ser definida na propriedade rules do objeto, como por exemplo:
rules: {
"name": {
required: true,
name: true
},
"phone": {
required: true,
minlength: 14,
maxlength: 15
}
}| Opção | Tipo | Padrão | Exemplo | Descrição |
|---|---|---|---|---|
| required | Boleano | false | true | Campo obrigatório |
| Boleano | false | true | Campo de email | |
| minlength | Inteiro | null | 8 | Quantidade mínima de caracteres no campo |
| maxlength | Inteiro | null | 15 | Quantidade máxima de caracteres no campo |
| min | Inteiro | null | 99 | Valor numérico mínimo do campo |
| max | Inteiro | null | 99 | Valor numérico máximo do campo |
| length | Inteiro | null | 12 | Quantidade exata de caracteres no campo |
| equalTo | String | null | password | Campo deve ser igual a outro campo |
| name | Boleano | false | true | Campo deve ser um texto sem caracteres especiais ou números |
| pattern | String (regex) | null | [1-9] | Campo deve corresponder um regex |
É possível definir as regras required, min, max, minlength, e maxlength diretamente na tag HTML, por exemplo:
<input required /> <input minlength="10" maxlength="15" />Mensagens
As mensagens de cada campo do formulário deve ser definida na propriedade messages do objeto, como por exemplo:
messages: {
"name": {
required: "Informe um nome",
name: "Informe um nome válido"
},
"phone": {
required: "Informe um telefone",
minlength: "Informe um telefone maior",
maxlength: "Informe um telefone menor"
}
}Mensagens não definidas retornará um aviso vazio ("").
Parentes
As mensagens de erro são automaticamente adicionadas no mesmo elemento pai onde o campo está localizado, contudo, certos momentos pode ser necessário adicionar a mensagem em algum elemento mais acima, isso pode ser definido na propriedade parents do objeto, como por exemplo:
parents: {
"name": 1
}Callback de sucesso
A fução definida na propriedade submitHandler é executada quando todas as regras são validadas e aprovadas, retornando sempre as variáveis data com campos e valores e form com o elemento do formulário (útil para executar ações no formulário), como por exemplo:
submitHandler: (data, form) => {
console.log(data);
};Métodos de campos
Os campos do formulários recebem alguns métodos dentro do objeto validate, por exemplo:
input.validate.addRule("maxlength", 15);| Método | Descrição | Exemplo |
|---|---|---|
| addRule | Adicionar regra ao campo | input.validate.addRule('maxlength', 15) |
| addRules | Adicionar múltiplas regras ao campo | input.validate.addRules([ {maxlength: { value: 15} }, {required: { value: true } } ]) |
| removeRule | Remover regra do campo | input.validate.removeRule('maxlength'); |
| removeRules | Remover múltiplas regras do campo | input.validate.removeRules(['maxlength', 'required']) |
| hasRule | Verifica se existe a regra no campo | input.validate.hasRule('length') |
| isRequired | Verifica se o campo é obrigatório | input.validate.isRequired() |
| isOptional | Verifica se o campo é opcional | input.validate.isOptional() |
| isOptionalEmpty | Verifica se o campo é opcional e está vazio | input.validate.isOptional() |
| isEmpty | Verifica se o campo está vazio | input.validate.isEmpty() |
| showErrorMessage | Exibir mensagem de erro no campo | input.validate.showErrorMessage('message') |
Métodos de formulário
O formulário, assim como o campo, recebe alguns métodos no objeto validate, por exemplo:
| Método | Descrição | Exemplo |
| ---------------- | ------------------------------------------- | --------------------------------------------------------------------------------------- |
| removeErrorMessages | Remove todas as mensagens de erros | form.validate.removeErrorMessages() |
| submit | Executa a validação e envia o formulário | form.validate.submit() |
| valid | Executa a validação do formulário e retorna se é válido | form.validate.valid() |
O método
form.submit()do próprio objeto DOM não realiza a validação dos campos, por isso é altamente recomendável que se utilize oform.validate.submit().
Licença
O Validate.Js é um software de código aberto sob a MIT License.