+2

Validando formulários com o Tigra

criado por Fred Hakamine em 14/10/2005 7:13pm
Precisamos reescrever as mensagens de erro enviadas pelo validator.js para português. Para isto abra o arquivo e substitua o seguinte conteúdo dentro de a_messages (linha 42 até a 55) para o português

Assim é como está no original:

a_messages = [
	'No form name passed to validator construction routine',
	'No array of "%form%" form fields passed to validator construction routine',
	'Form "%form%" can not be found in this document',
	'Incomplete "%n%" form field descriptor entry. "l" attribute is missing',
	'Can not find form field "%n%" in the form "%form%"',
	'Can not find label tag (id="%t%")',
	'Can not verify match. Field "%m%" was not found',
	'"%l%" is a required field',
	'Value for "%l%" must be %mn% characters or more',
	'Value for "%l%" must be no longer than %mx% characters',
	'"%v%" is not valid value for "%l%"',
	'"%l%" must match "%ml%"'
]

Esta é a tradução que eu fiz (críticas, sugestões, bla bla bla, postem aqui pelo amor de Deus!!! rsrsrs):

a_messages = [
	'Nenhum nome do formulário passou à rotina do Validator',
	'Nenhum array do campo "%form%" passou à rotina do Validator',
	'O formulário "%form%" não pode ser encontrado no documento',
	'Entrada imcompleta no campo de formulário "%n%". Atributo "l" não encontrado',
	'Não encontrado o campo "%n%" no formulário "%form%"',
	'Não encontrada a label tag (id="%t%")',
	'Não é possível validar. Campo "%m%" não encontrado',
	'"%l%" é um campo obrigatório',
	'"%l%" precisa no mínimo %mn% caracteres ou mais',
	'"%l%" não pode ter mais que %mx% caracteres',
	'"%v%" não é um valor válido para "%l%"',
	'"%l%" deve ser "%ml%"'
]

Após toda esta obra, salve seu arquivo validator.js, mas acredito que você não pode mudar o nome do arquivo porque é uma classe (pelo menos com Java, C# é assim).

Agora vamos começar a trabalhar no código inserido no seu formulário.

Comentários:

Mostrando 1 - 10 de 58 comentários
Bom Dia para todos!
Muito bom este artigo.
Parabens ao autor pela capacidade de sintese e o metodo pedagogico usado p explicar.
Tudo muito claro. Segui o tutorial e obtive 100% de resultado positivo.
Parabens!
11/05/2010 4:19am (~10 anos atrás)

Estou aprendendo PHP e fiquei com duvidas como coloco isto em meu programa tenho dois programas um onde uso o echo para montar o meu formulário é a onde (edito, altero, listo e excluo) e outro onde tenho o meu cabeçalho e rodapé.
Onde coloco as linhas:
<script language='javascript' src='./validator.js' type='text/javascript'></script>

onsubmit="return v.exec()"

</body>
<script language="javascript" type="text/javascript">
var campos= {
'nome':{'l':'Primeiro nome','r':true,'f':'alpha','t':'nome'},
'email':{'l':'E-mail','r':true,'f':'email','t':'mail'}
}
var v = new validator('formulario1',campos);
</script>
</html>
01/06/2009 12:43pm (~11 anos atrás)

Galera, segui a ideia dos colegas aqui, e consegui usar a validação perfeitamente,

Agora estou precisando colocar o TIGRA pra validar 2 forumularios na mesma pagina.

Algum colega ja precisou disso.

Grato por qualquer informação,

Rodrigo
17/06/2007 1:08pm (~13 anos atrás)

Pessoal, descupem a falta de atenção, pois o exemplo cita já é bem didatico.

Tenho ainda algumas dúvidas quanto a perda das máscaras de entrada quando adapto ao tigra, por exemplo de data.

...
<input name="base_precos" type="text" align="right" id="base_precos" size="20" maxlenght=20 value="" onKeyDown="javascript:return dFilter (event.keyCode, this, '##/##/####');" style="font-family:verdana;font-size:10pt;width:110px;">
...
Podem me auxiliar, por favor?
Obrigado.
07/07/2006 5:03am (~14 anos atrás)

Caros colegas,

Poderiam exemplificar de forma mais didática, com uma página php completa de como validar com máscaras 3 campos diferentes de data, nome e valor?

Obrigado.
03/07/2006 12:19pm (~14 anos atrás)

cobrinha disse:
Estou usando uma combo com o campo alfa, mais preciso a liberação de acentos e espaços, como faço?
30/03/2006 8:56am (~14 anos atrás)

Marcio disse:
Muito bom esse artigo, porem, não consegui validar o script pelo método GET? Há algum segredo?
01/03/2006 4:35am (~14 anos atrás)

// substitua a variável por isto aqui
var re_dt = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/

// substitua a data por isto aqui
'date' : function (s_date) {
// check format
if (!re_dt.test(s_date)){
return false;
}
// check allowed ranges
if (RegExp.$1 > 31 || RegExp.$2 > 12){
return false;
}
// check number of day in month
var dt_test = new Date(RegExp.$3, Number(RegExp.$2-1), RegExp.$1);
if (dt_test.getMonth() != Number(RegExp.$2-1))
return false;
return true;
},
15/02/2006 2:52am (~15 anos atrás)

Luciano Tadeu disse:
Gente....perdão a minha ignorância, mas não entendi algumas coisas...
Qual é o tipo do campo para texto , por exemplo nome (com espaços e acentos)?
E outra coisa...tem como alguém explicar melhor a sintaxe do código....

var campos= {
'nome':{'l':'Nome','r':true,'f':'alpha','t':'nomes'},
'email':{'l':'E-mail','r':true,'f':'email','t':'mail'}
}

Thanks!
24/01/2006 7:59am (~15 anos atrás)

Alexandre disse:
Alguém já pensou em criar validação de tag html, neste sisteminha bacana de validação?....
Tenho um bom editor de conteúdo em javascript para campos de Texto parecido com Word, onde o usuário faz uso de tags html pra postar os textos só que as tags vão embutidas no código e o usuário não as vê, estou tentando incrementar mais essa funcionalidade a validação...por enquanto não funfou.

Abraço
18/01/2006 3:21pm (~15 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)