Não to conseguindo Validar campo

1 resposta
T

Pessoal to desisperado ja... faz dias que to procurando solução na internet e nao consigo..
como so meio novo em programação web deve ser alguma bobeira minha...

o que eu quero fazer e validar um campo numerico com javascript no formulario html na linha em vermelho eu chamo a função java script.. nao sei o que to fazendo de errado alguem pode me ajudar pls?!
<jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view>
        <script language="JavaScript" src="js/validacao.js" type="text/JavaScript"></script>
        <webuijsf:page binding="#{Login.page1}" id="page1">
            <webuijsf:html id="html1">
                <webuijsf:head id="head1">
                    <webuijsf:link id="link1" url="/resources/stylesheet.css"/>
                </webuijsf:head>
                <webuijsf:body id="body1" style="-rave-layout: grid">
                    <webuijsf:form id="form1">
                        <webuijsf:staticText id="staticText1" style="left: 120px; top: 96px; position: absolute" text="Usuário: "/>
                        <webuijsf:staticText id="staticText2" style="left: 120px; top: 120px; position: absolute" text="Senha: "/>
                        [color=red]<h:inputText binding="#{Login.userText}" id="userText" onchange="validarFormulario()"[/color]
                            style="left: 192px; top: 96px; position: absolute; width: 120px" value="#{Login.user}" valueChangeListener="#{Login.teste1_processValueChange}"/>
                        <h:inputSecret id="senhaText" style="left: 192px; top: 120px; position: absolute; width: 120px" value="#{Login.senha}"/>
                        <webuijsf:button actionExpression="#{Login.button1_action}" id="button1" imageURL="/resources/Logo_academia3.jpg"
                            style="height: 24px; left: 239px; top: 192px; position: absolute; width: 73px" text="LOGAR"/>
                        <webuijsf:image height="76" id="image1" style="left: 0px; top: 0px; position: absolute" url="/resources/Logo_academia3.jpg" width="96"/>
                        <webuijsf:staticText binding="#{Login.textMessage}" id="textMessage" style="left: 192px; top: 144px; position: absolute"/>
                    </webuijsf:form>
                </webuijsf:body>
            </webuijsf:html>
        </webuijsf:page>
    </f:view>
</jsp:root>

a função javascript que valida e esta

function validarInteiro(valor){
      //tento converter a inteiro.
     //se for um inteiro nao lhe afeta, se não for tenta convertelo
     valor = parseInt(valor)

      //Comprovo se é um valor numérico
      if (isNaN(valor)) {
            //entao (nao e numero) devuelvo el valor cadena vacia
            return ""
      }else{
            //No caso contrario (Se for um número) devolvo o valor
            return valor
      }
}
function validarFormulario(){
        alert("teste " + document.forml.userText.value);
      //extraimos o valor do campo
      textoCampo = window.document.forml.userText.value
      //o validamos como inteiro
      textoCampo = validarInteiro(textoCampo)
      //colocamos o valor de novo
      window.document.forml.userText.value = textoCampo

}

1 Resposta

strong

Pocha kra tenta colocar este código ai, é só chmar ele no onChange do seu campo.

function validaNumerico(evtKeyPress) { var nTecla = 0; if (document.all) { nTecla = evtKeyPress.keyCode; } else { nTecla = evtKeyPress.which; } if ((nTecla> 47 && nTecla <58) || nTecla == 8 || nTecla == 127 || nTecla == 0 || nTecla == 9 // 0 == Tab || nTecla == 13) { // 13 == Enter return true; } else { return false; } }

Criado 23 de março de 2010
Ultima resposta 25 de mar. de 2010
Respostas 1
Participantes 2