
Validação
#1
Posted 10/02/2008, 00:12
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
Posted 10/02/2008, 17:44

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

// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#3
Posted 18/02/2008, 10:01
O que é o validate.js? Pra mim é só o nome de um arquivo .js
![]()
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)