** Nota: Os controles estão dentro de dois namecontainers (o subview('cadastrar') e o form('formCadastro')).
Por isso esses ids com nome estranho do lado do cliente! >.<
Aquie está o print do componente em funcionamento:
Agora vamos às questões:
- Como generalizar essa função para que todas as páginas possam utilizá-las, sendo que a função:
- não sabe os id dos controles da página chamadora.
- não sabe quais dos controles são obrigatórios. (a única diferença entre um controle simples de um
controle de preenchimento obrigatório, é que o obrigatório setamos a propriedade 'required' como true, vejam:
Pergunta
Amanda Makino
Caros,
estou aqui tentando implementar um modo de validação de campos obrigatórios que seja genérico.
Pois este deverá ser utilizado por todas as páginas do ERP que estamos desenvolvendo.
Cada página de cadastro deverá ter o seguinte funcionamento:
- No submit do form, verificar se os campos obrigatórios foram preenchidos pelo usuário.
- Caso um ou mais campos não tenham sido preenchidos:
- Uma mensagem dizendo "Existem campos obrigatórios não preenchidos." deverá aparecer ao lado do botão salvar.
- Também deverá aparecer uma imagem de um "X" em vermelho do lado de cada campo não preenchido.
- Após o usuário preencher esses campos e clicar em salvar novamente:
- A mensagem some e no lugar dos "X", aparecerá uma imagem de certo.
Bem, eu consegui implementar isso no meu componente! O que eu fiz:
- Coloquei duas imagens (uma a de erro ('X') e a outra de ok) pra cada input obrigatório.
- Coloquei um ícone de erro e um output com a mensagem de erro ao lado do botão salvar e setei os dois como display:none.
- No onsubmit do form chamo a seguinte função:
Bom, a idéia que tive primeiramente, foi que cada página passasse os ids dos campos obrigatórios por parâmetro,
e na função, eu percorreria esses parâmetros (não sei se é possível).
Mas já logo desisti... pois... imaginem só uma página de cadastro com 100 campos... passar parâmetro por parâmetro...
E ainda explicar para o pessoal que o id deverá ser "nomeSubView:nomeForm:nomeControle". ><'
Então pensei em percorrer todos os inputs e verificar um por um se é obrigatório.
Porém não tenho idéia de como fazê-lo.. =/
Por isso resolvi postar essa dúvida aqui... e aí?! Alguém tem uma luz?! :unsure:
Editado por Amanda MakinoLink para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.