validate-jjrdev
v1.0.9
Published
Pacote para validação de formulários e variáveis
Downloads
4
Readme
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
latest
para 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 |
| email | 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.