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
-~----------~----~----~----~------~----~------~--~---

Responder a