Tira essa parte e a importação. :D
  ----- Original Message ----- 
  From: Manoel junior 
  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

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