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