Eu criei o validator dentro do TextInput em um componente que eu fiz...

Usando uma propriedade "Obrigatorio (true/false)" ele implementa o validador
de acordo com o tipo de campo (alfa, numerico ou alfa-numerico)"...

Abracos

Stefan Horochovec
Analista de Sistemas
Blog: http://www.horochovec.com.br/
Use Java, Flex e Linux

2009/4/14 José Carlos Silveira Fiel <[email protected]>

> Valeu pela dica Beck,
> Att.,
> José Carlos Silveira Fiel
> http://blog.fielweb.com.br/
>
> 2009/4/14 Beck Novaes <[email protected]>
>
>>
>> O exemplo do nosso amigo José Carlos deve resolver o seu problema. O
>> trecho de código abaixo apenas elimina a necessidade de tratar um
>> evento de inicialização da aplicação para adicionar os Validators na
>> array.
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";>
>>
>>        <mx:Script>
>>                <![CDATA[
>>                        import mx.controls.Alert;
>>                        import mx.validators.Validator;
>>
>>                        private function
>> submitClickHandler(event:MouseEvent):void
>>                        {
>>                                var validationResultEvents:Array =
>> Validator.validateAll
>> (validators);
>>
>>                                if (validationResultEvents.length == 0)
>>                                {
>>                                        Alert.show("There are no errors!");
>>                                }
>>                                else
>>                                {
>>                                        Alert.show("There are errors!");
>>                                }
>>                        }
>>
>>                ]]>
>>        </mx:Script>
>>
>>        <mx:Array id="validators">
>>                <mx:StringValidator minLength="3" source="{userName}"
>> property="text"/>
>>                <mx:EmailValidator source="{email}" property="text"/>
>>        </mx:Array>
>>
>>        <mx:Form>
>>
>>                <mx:FormItem label="Name:">
>>                        <mx:TextInput id="userName"/>
>>                </mx:FormItem>
>>
>>                <mx:FormItem label="Email:">
>>                        <mx:TextInput id="email"/>
>>                </mx:FormItem>
>>
>>                <mx:FormItem>
>>                        <mx:Button label="Submit"
>> click="submitClickHandler(event)"/>
>>                </mx:FormItem>
>>
>>        </mx:Form>
>>
>> </mx:Application>
>>
>> Att,
>> Beck Novaes
>>
>> On 14 abr, 13:47, José Carlos Silveira Fiel <[email protected]> wrote:
>> > Bruno eu uso como o exemplo abaixo, usando validators.
>> > Se todos os validadores estiverem corretos ele entra no metodo _salvar()
>> > senão mostra os campos que ainda precisam ser preenchidos.
>> > Abaixo coloquei algo bem simples, espero que tire uma ideia de como é
>> feito.
>> > Não sei se é o que precisa, mas foi o que entendi.
>> >
>> > // Script AS
>> >
>> > [Bindable] private var _validatorArr:Array;
>> >
>> > private function _init():void{
>> > _validatorArr = new Array();
>> > _validatorArr.push(svNome);
>> > _validatorArr.push(svCep);
>> >
>> > }
>> >
>> > private function _validateForm():void{
>> > var validatorErrorArray:Array = Validator.validateAll(_validatorArr);
>> >         var isValidForm:Boolean = validatorErrorArray.length == 0;
>> >         if (isValidForm) {
>> >             _salvar();
>> >         } else {
>> >             var err:ValidationResultEvent;
>> >             var errorMessageArray:Array = [];
>> >             for each (err in validatorErrorArray) {
>> >                 var errField:String =
>> > FormItem(err.currentTarget.source.parent).label
>> >                 errorMessageArray.push(errField + " " + err.message);
>> >             }
>> >                 Alert.show(errorMessageArray.join("\n\n"), "Atenção!");
>> >             }
>> >
>> > }
>> >
>> > <!-- MXML -->
>> > <mx:StringValidator id="svNome" source="{tiNome}" property="text" />
>> > <mx:StringValidator id="svCep" source="{tiCep}" property="text"
>> > minLength="8" tooShortError="Digite um CEP válido!" />
>> >
>> > <mx:FormItem label="Nome:" width="100%" required="true">
>> > <mx:TextInput id="tiNome" width="250" maxChars="200" />
>> > </mx:FormItem>
>> > <mx:FormItem label="CEP:" width="100%" required="true">
>> > <mx:TextInput id="tiCep" width="250" maxChars="8" restrict="0-9" />
>> > </mx:FormItem>
>> >
>> > Abraços,
>> > José Carlos Silveira Fielhttp://blog.fielweb.com.br/
>> >
>> > 2009/4/14 bruno bg <[email protected]>
>> >
>> > > existe nos componentes as tags "validator" que pode ser string,
>> number,
>> > > cpf, email, tel, etc.
>> > > Até aê tudo bem. na execução aparece os tooltips mostrando que está
>> errado
>> > > e mostra tb quando eu coloco o campo
>> > > como required=true. Mostra ESTE CAMPO É OBRIGATÓRIO.
>> > > Dos campos formatados já aparecem no formato que eu defini.
>> >
>> > > Gostaria  de saber se tem como eu chamar os métodos para validar antes
>> de
>> > > salvar no Banco de Dados.
>> > > ou eu tenho que verificar campo a campo se está formatado do tipo
>> definido
>> > > e também
>> > > verificar campo a campo se aquele campo definido como required=true
>> está
>> > > null ou "". Antes de chamar o método de Salvar no Mysql.
>> >
>> > > bruno bg
>> >
>> > > 2009/4/14 Beck Novaes <[email protected]>
>> >
>> > >> Você já tentou ver se poderia usar um dos eventos do validator como
>> > >> "valid" ou "invalid"?
>> >
>> > >> Att,
>> > >> Beck Novaes
>> >
>> > >> On 14 abr, 12:11, bruno bg <[email protected]> wrote:
>> > >> > Pesquisei no google sobre validação e formatação de campos,
>> encontrei
>> > >> alguns
>> > >> > componentes prontos:
>> > >> > com.flexpernambuco.controls
>> > >> > e
>> > >> > CEPValidator.as
>> > >> > CNPJCPFValidator.as
>> > >> > TELValidator.as
>> > >> > com seus respectivos TextInputCEP.as, TextInputCNPJCPF.as e
>> > >> TextInputTEL.as
>> >
>> > >> > As bordas aparecem em vermelho e seus tooltips aparecem com as
>> > >> respectivas
>> > >> > mensagens.
>> > >> > Pergunta:
>> >
>> > >> > como poderia acionar seus métodos "validator" antes de salvar o
>> > >> registro.
>> >
>> > >> > Pensei em fazer na mão campo a campo, mas isso ao longo do projeto
>> > >> acredito
>> > >> > que seja inadequado.
>> > >> > Acredito que tenha alguma forma de acionar os "validator" de todos
>> os
>> > >> campos
>> > >> > que coloco como "required" ou "number", ou etc.
>> > >> > E eu fazer ser acionado antes de salvar.!!!!
>> >
>> > >> > Procurei no arquivos do próprio grupo e não achei nenhum
>> arquivo/projeto
>> > >> que
>> > >> > tivesse tal exemplo.
>> >
>> > >> > atenciosamente
>> > >> > bruno bg
>>
>>
>
> >
>


--

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