exemplo: validando input que aceitará apenas letras, espaços e acentos (nome de usuário)
<g-input
ref=«refNomFuncionario»
id=«refNomFuncionario»
name=«refNomFuncionario»
tipo=«text»
etiqueta=«Nome»
:converterParaMaiusculo=«true»
validacao=«required | maxlength(100) | nome» // adicionado «nome» na validação
:tamanho=«100»
:desabilitar=«paginaStatus.desabilitarEdicao»
v-model=«funcionario.nomFuncionario»
mascara=«nome»
>
</g-input>Funcionario.vue
util.js foi criado um método validarNome(nome) que executará a lógica de validação.…
const cnsValido = (value) => (value === ‘’ || util.validarCNS(value) === true)
const mesAnoValido = (value) => (value === ‘’ || util.validarMesAno(value) === true)
const nomeValido = (value) => (value === ‘’ || util.validarNome(value) === true) // variável novagInput.vue
validarNome (nome) { // validação para nomes de usuário com acento
const regex = /[1]*$/g
const combina = regex.test(nome)
return combina
},util.js
validations () {
var dValue = {}
// AS REGRAS DE VALIDAÇÃO SÃO SEPARADAS POR ‘|’
var validacoes = this.validacao.split(‘|’)
// AGREGAR A VALIDAÇÃO DE ACORDO COM O QUE É INFORMADO PELO USUÁRIO
validacoes.forEach(v => {
v = v.replace(’ ', ‘’)
…
if (v === ‘cns’) dValue.cns = cnsValido
if (v === ‘anoMes’) dValue.anoMes = mesAnoValido
if (v === ‘mesAno’) dValue.mesAno = mesAnoValido
if (v === ‘nome’) dValue.nome = nomeValido // verificar se g-input possui ‘nome’ no parametro ‘validacoes’
})gInput.vue
validar (evt) {
... if (this.$v.dValue.nome === false) { // verifica se o valor informádo é inválido this.mensagemErro = 'Nome inválido' } return !this.$v.dValue.$invalidgInput.vue
a-zA-ZÀ-ÿ\u00f1\u00d1 ↩︎