[quote=Maurício Linhares]Mas ele não está executando a validação “required” no JavaScript?
A versão que eu uso é a 1.2.7 e ela funciona normalmente, inclusive o Javascript.
Não entendi o problema das configurações dos mapeamentos, cada mapeamento pode ter um ActionForm diferente, você só precisa mudar o atributo “name” pra indicar qual é o ActionForm que ele deve utilizar.
Também não entendi nada da segunda. Se você precisa de 2 ActionForms diferentes, porque não usa os dois diferentes?[/quote]
Olá Marício.
É isso que ocorre. Quando é chamado a função validateCadastroVistoriadorForm(this) (no me caso) do JavaScript, o browser informa que existe um erro no JavaScript, justamente na função validateRequired. A linha que ocorre o erro é a que passei na mensagem anterior.
Quanto ao problema do ActionForm, pensando melhor eu preciso somente de 1.
Eu necessito de duas telas para realizar a função de alteração de dados: Em uma tela, o usuário faz uma pesquisa, que retornará vários resultados a serem exibidos numa grid.
O usuário selecionará nesta grid o registro que deseja modificar. Feito esta seleção, será executada uma action que abrirá a minha outra tela (a de cadastro), devidamente preenchida.
Depois que o usuário terminar de modificar os dados, ele chamará uma action que persistirá estas modificações no banco, e que deverá retornar para a minha primeira tela (a de pesquisa). Esta tela de pesquisa deverá exibir para o usuário os dados da pesquisa que ele realizou anteriormente, só que com os dados relativos ao registro que ele modificou devidamente atualizados. Ou seja, preciso possuir num mesmo form os dados do registro (para inclusão / modificação) e os dados da pesquisa, concorda?
Atualmente eu utilizo somente um ActionForm, que possui dados referentes a tela de cadastro e a de pesquisa. Suponhamos que este Action form precise de duas validaçõs distintas:
-
A primeira seria realizada nos dados do cadastro (na saída da tela de cadastro), no momento em que o usuário executar a a action de inclusão dos dados no banco, ou a de alteração dos dados no banco. Este Validator resume-se em princípio na verificação se os campos foram devidamente preenchidos;
-
A segunda será realizada no valor que o usuário irá informar para pesquisa (na tela de pesquisa), no momento que pressionar o botão
"pesquisar", que chamará a action que retornará os dados desejados pelo usuário. Este Validator resume-se em princípio na verificação se o campo de valor de pesquisa foi devidamente preenchido.
Bom, aqui tenho um dilema. Necessito de um único form, pois no processo de alteração de um registro do banco de dados, necessito ter armazenado os dados da pesquisa realizada (pois quando voltar para esta tela os dados da pesquisa deverão continuar sendo exibidos), e os dados do cadastro, para que o usuário possa realizar as devidas alterações e depois enviar para a action que gravará no banco.
Ao mesmo tempo, deverei realizar validações diferentes no mesmo ActionForm, dependendo da tela em que me encontre.
E a minha pergunta neste caso seria: Como resolver este problema?
Se eu usar o método Attribute para indicar um nome diferente para o form em cada mapeamento da action, de forma a utilizar um nome de form na tela de cadastro e um outro na tela de pesquisa, eu conseguiria utilizar estes nomes na configuração do Validator? Ou o Validator só aceita o nome declarado no mapeamento do ValidatorForm no Struts (na verdade uso o ValidatorForm, por causa da validação automática)?