Jump to content


Photo

Validação


  • Faça o login para participar
2 replies to this topic

#1 rangelviotti

rangelviotti

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Brasília - DF

Posted 10/02/2008, 00:12

Campeões: Eu já estou entrando em choque por causa de uma coisa que deveria ser simples mas está me tirando do sério.

Antes de explicar o que é, deixe-me dizer o que já fiz.

Estou desde 08:15 da manhã de ontem - sábado (são quase 01:00 da manha de domingo) vasculhando todos os tutoriais, dicas, forums e pais-de-santo que me espliquem o seguinte:


COMO VALIDAR UMA OPTION LIST, OU MENU LIST, OU QUALQUER LIST com o validate.js. Aliás, nem precisa mais ser com o validade.js/prtotype.js.

Tudo que eu preciso é: se o cara não escolher nenhuma opção a janelinha apearece com a mensagem " você não selecionou, blá, blá, blá.

Eu já achei todo tipo de validação mas todas elas saõ só para textos, textareas, datas e VALIDAÇÕES DE ATÉ MAPA ASTRAL

Nas não vi ninguém validando menu de listas.

OBS: Refiro-me ao famoso <option></option>. Honestamente galera: já estou ficando meio desesperado.

Alghuém por aí me juda???? por favor????

#2 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 10/02/2008, 17:44

O que é o validate.js? Pra mim é só o nome de um arquivo .js :rolleyes:

Nossa, você não acha que tá exagerando um pouco?

Em 10seg, aqui no fórum mesmo, fiz a busca e obtive um tópico explicando:

http://forum.wmonlin...=validar select

Desespero não leva a nada. Respira fundo, reflete e procura que tu acha sempre e não perde noites de sono em claro contando carneirinhos ;)
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#3 rangelviotti

rangelviotti

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Brasília - DF

Posted 18/02/2008, 10:01

O que é o validate.js? Pra mim é só o nome de um arquivo .js :rolleyes:

Nossa, você não acha que tá exagerando um pouco?

Em 10seg, aqui no fórum mesmo, fiz a busca e obtive um tópico explicando:

http://forum.wmonlin...=validar select

Desespero não leva a nada. Respira fundo, reflete e procura que tu acha sempre e não perde noites de sono em claro contando carneirinhos ;)


O validate.js é um "mini framework" com um monte de classes de validação de formulários que vão de simples respostas a campos obrigatórios não preenchidos , passando por máscara de campos especívidos, (data, cep, cnpj, cpf, etc) validações para componentes específicos de formulários.
Saca só:

// JavaScript Documentfunction testRegExp(value, re) {	return new RegExp(re).test(value);}function validateString(value, maxsize, minsize) {	var valueTemp = value;	valueTemp = removeSpace(valueTemp);		if (valueTemp.length == 0) return false;	else return validateSize(value, maxsize, minsize)}function validateSelection(form_name, element_name) {	return (document.forms[form_name].elements[element_name].selectedIndex > 0);}function validateCheckBox(form_name, element_name) {	return document.forms[form_name].elements[element_name].checked;}function validateCleanString(value) {	return testRegExp(value, '^[A-Za-z0-9_]+$');}function validateEmail(value) {	return testRegExp(value, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');}function validateAbsUrl(value) {	return testRegExp(value, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');}function removeSpace(value) {	var c = '';	count = value.length;		if (count == 0 )return '';		value = value.toString();	a = value.split(" ")	count = a.length;		for (i = 0; i < count; i++ ) {		c += a[i];	}		return c}/* * confirma se o valor de um elemento de formulário * é um número @parameter boolean allow_blank - sinaliza se aceita valor em branco como válido*/function isNumber(value,allow_blank) {		return (!allow_blank && value == '') ? false : testRegExp(value, '^-?[0-9]*\\.?[0-9]*$');}function validateNumber(value, maxvalue, minvalue) {		value = convertToNumber(value)	if (maxvalue > 0 && value > maxvalue) return false	if (minvalue > 0 && value < minvalue)return false	return true}/* * Confirma se o valor de um elemento de formulário  * está dentro dos limites de tamanho */function validateSize(value, maxsize, minsize) {		var length = value.length	var flag = false		if (!minsize) minsize = 0		if (length == 0 ) return false		if ( !maxsize == null && length > maxsize ) return false	else if (length < minsize) return false		return true}/* * converte o argumento em um número inteiro*/function toInt(value){		return parseInt (value)}/* * converte o argumento em um número decimal*/function toFloat(value){		return parseFloat (value)}/* * CONVERTTONUMBER * converte um valor para número * se o parâmetro digits é fornecido * arredonda o número para a quantidade de decimais repassada *  * se o valor não é um número, retorna zero*/function convertToNumber(value, allowround, digits){		var int =0	/*	 * se não é numérico, substitui a vírgula por ponto	 * se ainda não é numérico faz igual a zero	*/	if (isNaN(value)) value = value.replace(',',".")	if (isNaN(value)) value = 0		// transforma para decimal flutuante	number = parseFloat(value)		/*	 * se deseja arredondar, multiplica o número	 * por 10 elevado oa número de dígitos desejados e	 * arredonda o número para o inteiro mais próximo	 * e divide o número pela potência de dez	*/	if (allowround) {				if (isNaN(digits)) digits = 0		pot = Math.pow(10,digits)		number = number * pot		number = Math.round(number)		number = number / pot	}	return number	}/* * FORMATCURRENCY * retorna um valor em formato de moeda * @parameter value - o valor a ser formatado * @parameter allowround - sinaliza que deve arredondar o valor*/function formatCurrency(value, allowround){		var PT = '.'	var VR = ','	var intPart	var decPart	var pos = 0		/*	 * se allowround = true	 * arredonda o valor 	 * converte o valor para string	 * substitui o ponto por vírgula	 * separa as partes inteira e decimal	 *	*/		if (allowround) value = convertToNumber(value,true,2)	else value = convertToNumber(value)		value = value.toString()	value = value.replace(PT,VR)		pos = value.search(/,/)	// não existe parte decimal	if (pos == -1 ){		intPart = value;		decPart = '00';	} 	// existe parte decimal	else {				intPart = value.slice(0, pos );		decPart = value.slice(pos + 1);		decimais = decPart.length;		switch (decimais) {		case 1 : decPart += '0';		default: decPart = decPart.slice(0,2);		}			}		value ="R$ " + intPart + VR + decPart;	return value;	}function validateDate(value){	var checkstr = "0123456789";var DateValue = value;var DateTemp = "";var seperator = "/";var day;var month;var year;var leap = 0;var err = 0;var i;   err = 0;      /* Delete all chars except 0..9 */   for (i = 0; i < DateValue.length; i++) {	   	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {	     DateTemp = DateTemp + DateValue.substr(i,1);	  }   }   DateValue = DateTemp;   /* Always change date to 8 digits - string*/   /* if year is entered as 2-digit / always assume 20xx */   if (DateValue.length == 6) {	         DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2);    }      if (DateValue.length != 8) {	         err = 19;}  	 /* year is wrong if year = 0000 */   	 year = DateValue.substr(4,4);   	 if (year == 0) {       err = 20;   	}   	/* Validation of month*/  	 month = DateValue.substr(2,2);	    	if ((month < 1) || (month > 12)) {		      err = 21;   	}	    /* Validation of day*/    day = DateValue.substr(0,2);    if (day < 1) {		      err = 22;    }	   	/* Validation leap-year / february / day */   	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {		      leap = 1;   }	    if ((month == 2) && (leap == 1) && (day > 29)) {	         err = 23;   }      if ((month == 2) && (leap != 1) && (day > 28)) {	         err = 24;   }   /* Validation of other months */   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {      err = 25;   }      if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {	         err = 26;   }      /* if 00 ist entered, no error, deleting the entry */   if ((day == 0) && (month == 0) && (year == 00)) {	         err = 0; day = ""; month = ""; year = ""; seperator = "";   }      /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */   if (err == 0) {	         return  day + seperator + month + seperator + year;   }      /* Error-message if err != 0 */   else {      return false;        }}

Edição feita por: § Kenshin §, 19/02/2008, 05:05.
para codigos longos, use a tag [codebox]. leia as regras.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq