boa tarde galera, estou iniciando meus estudos em Servlet e JSP e para isso estou fazendo um sistema bem didático…
Meu problema é o seguinte:
Tenho uma página de cadastro de proprietários (JSP) e os campos dessa página são obrigatórios. Antes de cadastrar os dados devo avaliar se nenhum campo estávazio, caso esteja, devo enviar uma mensagem para o responsável pelo cadastro. Fiz um código e utilizo uma função feita em JavaScript para validar os campos, só que quando eu executo nada acontece e o sistema tenta gravar os dados em branco…
coloco abaixo o código da minha página JSP. Onde estou errando?
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>
MFW - Inserir dados de um novo proprietario
MFW
Colocar logo do sistema aki
<div id="content">
<form name="proprietario" method="post" action="ProprietarioServlet?action=inserir"
onsubmit="return validarCampos(this)">
Login<br>
<input type="text" name="login" maxlength="10" size="15" tabindex="1"><br>
Senha<br>
<input type="password" name="senha" maxlength="10" size="15" tabindex="2"><br>
Nome<br>
<input type="text" name="nome" maxlength="50" size="55" tabindex="3"><br>
Email<br>
<input type="text" name="email" maxlength="50" size="55" tabindex="4"><br><br>
<input type="submit" value="Cadastrar" tabindex="5">
<a href="login.jsp">Logar no Sistema</a>
<br><br>
<div id="msg" style="color:red">
<!--EL: Expression Language -->
${msg}
</div>
</form>
</div>
<div id="footer">
Desenvolvido por Igor Thurler <a href="#">igorthurler@gmail.com</a>
</div>
Considerações:
A classe ProprietarioBuilder é responsável pela validação dos atributos de um proprietário e os métodos de crititarXXXX estão funcionando, os mesmos foram testados no JUnit e propagam uma Exception
Agradeço qualquer ajuda
oi…
o problema é que você não pode acessar diretamente o codigo java no javascript…entende?
um jeito seria escrever um espaguete misturando java+javascript…
ou escrever uma versão javascript das suas funcções em java
Se você executar essa página no firebug do firefox verá que ele diz que não consegue achar os objetos:
ProprietarioBusiness e seus respectivos métodos…
t+
entendi…obrigado pela ajuda
igorthuler, você pode utilizar algo como:
<script language="JavaScript">
function validarCampos(form) {
if(form.login.value == "" || form.senha.value == "" || form.nome.value == "" || form.email.value) {
return false;
}
return true;
}
Recomendo você utilizar algum framework javascript (jQuery, prototype…), eles facilitam muito o desenvolvimento e interação com o usuário.
Espero ter ajudado.
Agradeço muito a ajuda d vcs…eu utilizei o seguinte código
function validarCampos(form){
if (! valorValido(form.login.value)) {
alert("O campo login é obrigatório");
return false;
}
if(! valorValido(form.senha.value)) {
alert("O campo senha é obrigatório");
return false;
}
if (! valorValido(form.nome.value)) {
alert("O campo nome é obrigatório");
return false;
}
if (! valorValido(form.email.value)){
alert("O campo email é obrigatório");
return false;
}
return true;
}
function valorValido(valor) {
return (trim(valor) != "");
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, "");
}
mas aí me surgiu uma dúvida....
Bem, o usuário pode simplesmente desabilitar a execução de JavaScript do browser...e ai vai tudo pro barro.....
Eu pergunto, qual a melhor maneira para validar os dados dos campos de uma JSP
eu valido nos dois lados
tanto cliend side quanto server side.
A validação client side(javascript) é utilizada para não ter que ficar solicitando requisições ao servidor toda hora,
é muito trabalhoso, pq o usuario pode errar diversas vezess entao seria solicitado diversas requisicoes a jsp.
ai entra o javascript para nos ajudar e verificar do lado do cliente.
mas de qualquer forma, se o usuario tentar ludibriar o sistema sua jsp ira verificar novamente e so deixara passar quem realmente atender as necessidades.
t+
vlew…obrigado…
Ah sim…mais uma coisa…tem como criar uma biblioteca para essas funções JavaScript…prq vai ser um saco ter q validar todos os campos e ter q repetir as verificações em todas as páginas…
Eu sei q tem o Struts pra facilitar minha vida, mas eu primeiro quero aprender bem sem ter q usar nenhum framework
plugin do jquery :
jquery validator
é uma mão na roda para validações.
Vou dar uma estudada pra ver…obrigado pela ajuda