Depois q removi o "import" e a "if" o projeto nao apresentou erro mas tmb nao carreguo no navegador.
2007/12/28, Tião da Obra <[EMAIL PROTECTED]>: > > Tira essa parte e a importação. :D > > ----- Original Message ----- > *From:* Manoel junior <[EMAIL PROTECTED]> > *To:* [email protected] > *Sent:* Friday, December 28, 2007 2:29 PM > *Subject:* [flexdev] Re: data trocada no datafield > > > Agora deu outro erro: > > *Access of undefined property Validar.* > > Nessa linha do componente: > > if ( this.editable == true ) { > Validar.dataField(event); <--------------------------- > } > > > > 2007/12/28, Tião da Obra <[EMAIL PROTECTED]>: > > > > Esqueci de mandar este arquivo Validar.as <http://validar.as/> > > > > package br.com.agroquima.util > > { > > import mx.validators.NumberValidator; > > import mx.validators.CurrencyValidator; > > import mx.events.FlexEvent; > > import mx.controls.TextInput; > > import mx.events.ValidationResultEvent; > > import mx.validators.DateValidator; > > import mx.controls.Alert; > > import mx.messaging.messages.ErrorMessage; > > import flash.events.Event; > > import flash.events.EventDispatcher ; > > import flash.events.ErrorEvent; > > import mx.utils.StringUtil; > > import mx.controls.DateField; > > import mx.utils.ArrayUtil; > > import flash.utils.ByteArray; > > > > [Bindable] > > public class Validar > > { > > > > private static var numerico:NumberValidator; > > private static var monetario:CurrencyValidator; > > private static var data:DateValidator; > > > > public function Validar() { > > numerico.integerError = "Número Inválido"; > > numerico.negativeError = "Número Inválido"; > > numerico.property = "text"; > > numerico.invalidCharError = "Número Inválido"; > > numerico.separationError = "Número Inválido"; > > numerico.decimalPointCountError = "Uso incorreto do separador > > decimal"; > > numerico.requiredFieldError = "Preenchimento Obrigatório"; > > } > > > > public static function numero(event:FlexEvent):void { > > if ( numerico == null ) { > > numerico = new NumberValidator(); > > numerico.domain = "int"; > > numerico.integerError = "Número Inválido"; > > numerico.allowNegative = false; > > numerico.negativeError = "Número Inválido"; > > numerico.property = "text"; > > numerico.invalidCharError = "Número Inválido"; > > numerico.separationError = "Número Inválido"; > > numerico.decimalPointCountError = "Uso incorreto do separador > > decimal"; > > numerico.required = false; > > } > > numerico.source = TextInput(event.target); > > numerico.validate(); > > } > > > > public static function moeda(event:FlexEvent):void { > > if ( monetario == null ) { > > monetario = new CurrencyValidator(); > > monetario.allowNegative = true; > > monetario.negativeError = "Não é permitido valor negativo"; > > monetario.decimalSeparator = ","; > > monetario.decimalPointCountError = "Uso incorreto do separador > > decimal"; > > monetario.separationError = "Uso incorreto do separador de > > milhares"; > > monetario.thousandsSeparator = "."; > > monetario.precision = 2; > > monetario.precisionError = "O valor deve ter no máximo 4 casas > > decimais"; > > monetario.invalidCharError = "Valor Inválido"; > > monetario.property = "text"; > > monetario.required = false; > > } > > > > monetario.source = TextInput(event.target); > > monetario.validate(); > > //var vResult:ValidationResultEvent = monetario.validate(); > > > > } > > > > public static function dataField(event:FlexEvent):void { > > var df:DateField = event.target as DateField; > > var validador:DateValidator = new DateValidator(); > > validador.source = df; > > validador.property = "text"; > > validador.inputFormat = "DD/MM/YYYY"; > > validador.allowedFormatChars = "/"; > > > > validador.invalidCharError = "Data Inválida"; > > validador.wrongDayError = "Dia Incorreto"; > > validador.wrongLengthError = "Data Inválida"; > > validador.wrongMonthError = "Mês Incorreto"; > > validador.wrongYearError = "Ano Incorreto"; > > validador.requiredFieldError = "Preenchimento Obrigatório"; > > > > validador.validate (); > > } > > > > public static function campoData(valor:String):void { > > var error:Error = new Error("Erro, A Data é Invalida"); > > if (( valor != null ) && ( StringUtil.trim(valor) != "")) { > > try { > > > > > > if (StringUtil.trim(valor).length < 8) { > > throw new Error("Erro, Data Invalida"); > > } > > var dia:Number = Number(valor.substring(0,2)); > > var mes:Number = Number(valor.substring(2,4)); > > var ano:Number = Number(valor.substring(4,8)); > > > > if (isNaN(dia)) { > > throw new Error("Erro, Dia Invalido"); > > } > > if (isNaN(mes)) { > > throw new Error("Erro, Mês Invalido"); > > } > > if (isNaN(ano)) { > > throw new Error("Erro, Ano Invalido"); > > } > > > > > > > > if (( dia < 1 ) || (dia > 31)) { > > throw new Error("Erro, Dia Invalido"); > > } > > > > if (( mes < 1 ) || (mes > 12)) { > > throw new Error("Erro, Mês Invalido"); > > } > > > > if (( ano < 1900 ) || (ano > 2100)) { > > throw new Error("Erro, Ano Invalido"); > > } > > > > if ( mes == 2 ) { > > if ( (((ano % 4) == 0) && ((ano % 100) != 0 ))) { > > if (dia > 29 ) { > > throw new Error("Error, Dia Invalido, o ano não é > > Bissexto"); > > } > > } else { > > if (dia > 28 ) { > > throw new Error("Error, Dia Invalido"); > > } > > } > > } > > > > } catch (e:Error) { > > Alert.show(e.message); > > } > > > > } > > > > } > > > > public static function CPF(value:String):Boolean { > > var d1:int > > var d2:int; > > var digito1:int; > > var digito2:int; > > var resto:int; > > var digitoCPF:int; > > var strCpf:String = ""; > > > > var nDigResult:String; > > > > d1 = d2 = 0; > > digito1 = digito2 = resto = 0; > > > > var i:int; > > for ( i = 0; i < value.length; i++ ) { > > if ( !isNaN(Number(value.charAt(i))) ) { > > strCpf += value.charAt(i); > > } > > } > > > > for ( i = 1; i < strCpf.length - 1; i++) { > > digitoCPF = Number(strCpf.substring(i - 1, i)); > > > > // multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 > > // e assim por diante. > > d1 = d1 + (11 - i) * digitoCPF; > > > > // para o segundo digito repita o procedimento incluindo o primeiro > > // digito calculado no passo anterior. > > d2 = d2 + (12 - i) * digitoCPF; > > } > > ; > > > > // Primeiro resto da divisão por 11. > > resto = (d1 % 11); > > > > // Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é > > 11 > > // menos o resultado anterior. > > if (resto < 2) > > digito1 = 0; > > else > > digito1 = 11 - resto; > > > > d2 += 2 * digito1; > > > > // Segundo resto da divisão por 11. > > resto = (d2 % 11); > > > > // Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é > > 11 > > // menos o resultado anterior. > > if (resto < 2) { > > digito2 = 0; > > } else { > > digito2 = 11 - resto; > > } > > > > // Digito verificador do CPF que está sendo validado. > > var nDigVerific:String = strCpf.substring(strCpf.length - 2, > > strCpf.length); > > > > // Concatenando o primeiro resto com o segundo. > > nDigResult = String(digito1) + String(digito2); > > > > // comparar o digito verificador do cpf com o primeiro resto + o > > segundo > > // resto. > > return ( nDigVerific == nDigResult ); > > } > > > > public static function CNPJ(value:String):Boolean { > > var str_cnpj:String = ""; > > var chr_cnpj:Array = new Array(); > > > > var i:int; > > for ( i = 0; i < value.length; i++ ) { > > if ( !isNaN(Number(value.charAt(i))) ) { > > str_cnpj += value.charAt(i); > > } > > } > > > > for ( i = 0; i < str_cnpj.length; i++ ) { > > chr_cnpj[i] = Number(str_cnpj.charAt(i)); > > } > > > > var soma:int = 0; > > var aux:int = 0; > > var dig:int = 0; > > var cnpj_calc:String = str_cnpj.substring(0, 12); > > > > if (str_cnpj.length != 14) { > > return false; > > } > > > > /* Primeira parte */ > > for (i = 0; i < 4; i++) { > > if (chr_cnpj[i] >= 0 && chr_cnpj[i] <= 9) { > > soma += (chr_cnpj[i]) * (6 - (i + 1)); > > } > > } > > > > for (i = 0; i < 8; i++) { > > if (chr_cnpj[i + 4] >= 0 && chr_cnpj[i + 4] <= 9) { > > soma += (chr_cnpj[i + 4]) * (10 - (i + 1)); > > } > > } > > > > dig = 11 - (soma % 11); > > > > cnpj_calc += (dig == 10 || dig == 11) ? "0" : String(dig); > > > > /* Segunda parte */ > > soma = 0; > > for (i = 0; i < 5; i++) { > > if (chr_cnpj[i] >= 0 && chr_cnpj[i] <= 9) { > > soma += (chr_cnpj[i]) * (7 - (i + 1)); > > } > > } > > > > for (i = 0; i < 8; i++) { > > if (chr_cnpj[i + 5] >= 0 && chr_cnpj[i + 5] <= 9) { > > soma += (chr_cnpj[i + 5]) * (10 - (i + 1)); > > } > > } > > > > dig = 11 - (soma % 11); > > cnpj_calc += (dig == 10 || dig == 11) ? "0" : String(dig); > > > > return ( str_cnpj == cnpj_calc ); > > } > > > > public static function > > inscricaoEstadual(inscricaoEstadual:String, uf:String):Boolean { > > return ValidarInscricaoEstadual.validar(inscricaoEstadual, uf); > > } > > > > } > > } > > > > > > ----- Original Message ----- > > *From:* Manoel junior <[EMAIL PROTECTED]> > > *To:* [email protected] > > *Sent:* Friday, December 28, 2007 1:50 PM > > *Subject:* [flexdev] Re: data trocada no datafield > > > > > > Tentei usar e deu esse erro: > > > > *Definition br.com.agroquima.util:Validar could not be found. * > > > > ande esta: import br.com.agroquima.util.Validar; > > > > > > > > Em 27/12/07, Tião da Obra <[EMAIL PROTECTED] > escreveu: > > > > > > > > > Eu criei um componente chamado DateFieldBR, funciona que é uma beleza. > > > Daí, > > > ao invez de usar o <mx:DateField> vc pode usar esse. > > > > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <mx:DateField > > > xmlns:mx=" http://www.adobe.com/2006/mxml" > > > dayNames="{dias}" > > > monthNames="{meses}" > > > formatString="DD/MM/YYYY" > > > showToday="true" > > > creationComplete="configApp();" > > > yearNavigationEnabled="true" > > > editable="true" > > > restrict="0-9" > > > width="94" > > > valueCommit="validar(event);"> > > > > > > <mx:Script> > > > <![CDATA[ > > > import mx.events.FlexEvent ; > > > import br.com.agroquima.util.Validar; > > > > > > > > > private function configApp():void { > > > this.selectedDate = new Date(); > > > } > > > > > > private function validar(event:FlexEvent):void { > > > var str:String = event.target.text as String; > > > if ( str.charAt(2) != "/" || str.charAt(5) != "/" ) { > > > var mask:String; > > > if ( str.length == 6 ) { > > > mask = str.substr(0, 2) + "/" + str.substr(2,2) + "/" + > > > str.substr(4, > > > 4); > > > event.target.text = mask; > > > } else if ( str.length == 8 ) { > > > mask = str.substr(0, 2) + "/" + str.substr(2,2) + "/" + > > > str.substr(4, > > > 4); > > > event.target.text = mask; > > > } > > > } > > > > > > if ( this.editable == true ) { > > > Validar.dataField(event); > > > } > > > } > > > ]]> > > > </mx:Script> > > > > > > <mx:Array id="dias"> > > > <mx:String>D</mx:String> > > > <mx:String>S</mx:String> > > > <mx:String>T</mx:String> > > > <mx:String>Q</mx:String> > > > <mx:String>Q</mx:String> > > > <mx:String>S</mx:String> > > > <mx:String>S</mx:String> > > > </mx:Array> > > > > > > <mx:Array id="meses"> > > > <mx:String>Janeiro</mx:String> > > > <mx:String>Fevereiro</mx:String> > > > <mx:String>Março</mx:String> > > > <mx:String>Abril</mx:String> > > > <mx:String>Maio</mx:String> > > > <mx:String>Junho</mx:String> > > > <mx:String>Julho</mx:String> > > > <mx:String>Agosto</mx:String> > > > <mx:String>Setembro</mx:String> > > > <mx:String>Outubro</mx:String> > > > <mx:String>Novembro</mx:String> > > > <mx:String>Dezembro</mx:String> > > > </mx:Array> > > > </mx:DateField> > > > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > From: <[EMAIL PROTECTED] > > > > To: "flexdev" < [email protected]> > > > Sent: Thursday, December 27, 2007 4:46 PM > > > Subject: [flexdev] data trocada no datafield > > > > > > > > > > > > ola pessoal > > > > > > tenho um datefield que esta me dando a data no seguinte formato > > > MM/DD/AAAA e quando tento altera esse formato ele fica muito > > > doido com as datas todas erradas... > > > dia mes e ano completamente errados... > > > > > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
