A ver si me pueden ayudar

25/08/2003 - 13:24 por Mario Cassanelli | Informe spam
El tema es asi:
Validar un formulario -cosa recontra vista en el foro- , pero no validar el
campo para saber si el dato ingresado es numerico o char.

Para hacerlo sencillo: un input en un formulario que dice ingrese nro de
cliente -para dar de alta- , la validacion se hace sobre una base de datos.
Asi por ejemplo el alta de un cliente en una aplicacion valida sobre el
mismo formulario: ingreso el codigo busco que no se encuentre en la tabla,
continuo con los datos...

No me doy cuenta como hacer para que cuando tenga que validar los campos de
un formulario de ingreso, tenga que crear:
1. la pagina de ingreso
2. la pagina de validacion
3. avisarle al usuario cuales son los campos cuyos datos no existen, por
ejemplo el cod_postal, que el codigo postal que ingreso esta mal que vuelva
a ingresarlo y asi...
4. volver al punto 2.

Se puede hacer de otra manera, es decir
1. pagina de ingreso
2. rutinas de validacion
3. avisarle sobre la misma pagina cuales campos cuyos datos no son
validos..?

Gracias
Mario Cassanelli

Preguntas similare

Leer las respuestas

#6 Oscar
28/08/2003 - 11:13 | Informe spam
Para las conexiones, podrás usar cualquier tecnología que
permita ASP, ya que es a una página de este tipo a la que
llamas desde el objeto XMLHTTP.

Te pongo un ejemplo de como hacerlo, a ver si te orienta.

Por cierto, en mi empresa, el IE es el navegador
corporativo, por lo que solemos programar en VBScript para
el cliente también.

Saludos.


'*************************************'
'********CÓDIGO EN PÁG. LOCAL*********'
'*************************************'

Function ValidaDatos()
'Valida Datos llamando a una página ASP

Dim CadXML
CadXML = "<DATOS>" _
& "<DATO_VALIDACION>" &
document.formulario.DatoVal.value & "</DATO_VALIDACION>" _
& "</DATOS>"

Dim oxmlhttp, oResultado
Set oxmlhttp = CreateObject("Microsoft.XMLHTTP")
oxmlhttp.Open "POST", "ValidaDatos.asp", false
oxmlhttp.Send CadXML

Set oResultado = CreateObject("Microsoft.XMLDOM")
Set oResultado = oxmlhttp.responseXML

if not oResultado.selectSingleNode("//VALIDACION
[.='OK']") is nothing then
ValidaDatos = "OK"
else
ValidaDatos = "ERROR"

end if

End Function


'*************************************'

'**********************************************'
'********CÓDIGO ASP EN ValidaDatos.asp*********'
'**********************************************'

<%@ Language=VBScript %>

<% Response.Buffer = true

Dim oDatos
Set oDatos = CreateObject("Microsoft.XMLDOM")

'Aqui se cogen los datos enviados por XMLHTTP
oDatos.load request

'Se pueden pasar más datos en el XML, no necesariamente uno
Dato=oDatos.SelectSingleNode("//DATO_VALIDACION").text

'--
'Aqui harías la conexión a BD y la validación en sí
'--


'Ahora se devuelve la respuesta
'Se puede hacer de dos maneras:

'En el ejemplo, se recibe así:
' Set oResultado = oxmlhttp.responseXML
'y para ello hay que devolver así:

Dim oResultado
Set oResultado = CreateObject("Microsoft.XMLDOM")
oResultado.loadXML "<?xml version='1.0' ?>" _
& "<RESPUESTA>" _
& "<VALIDACION>" & Validacion
& "</VALIDACION>" _
& "</RESPUESTA>"

Response.ContentType="text/xml"
oResultado.save Response

set oResultado = nothing

'-


'También se puede responder así:


response.write "<?xml version='1.0' ?>" _
& "<RESPUESTA>" _
& "<VALIDACION>" & Validacion
& "</VALIDACION>" _
& "</RESPUESTA>"

response.end

'y en cliente se recibe así:
' oResultado.loadXML oxmlhttp.responseText


%>

'*************************************'



Buenisimo, muchisimas gracias es una opcion interesante,


he visto algunas
cosas realizadas en xml, vamos a ver que pasa

Gracias Oscar y bueno te consultare, para saber en donde


puedo mirar por el
tema de la conexiones si con ADO no hay problema o hay


que usar otra
tecnologia.

Saludos
Mario


"Oscar" escribió en el mensaje
news:08ae01c36c7f$8f44e810$
Prueba con el objecto XMLHTTP.

Esto te permite, sin abandonar la página de cliente,
enviar a otra página ASP código XML para realizar
validaciones o grabar datos, etc.

Es como si realizara las operaciones por debajo, por lo
que no abandonarías la página actual y no la tienes que
recargar.

Si te surgen dudas, consúltame.

Saludos.


Hola Jhonny..!!

Antes, Gracias por tu tiempo...

Ahora lo que me decis es ingreso los datos en el


formulario y luego valido
en el servidor cuando el usuario hace clic en el boton de


submit,
Ahora la pregunta es: se puede hacer antes la validacion


sobre el codigo de
cliente, por ejemplo cuando el usuario pulsa la tecla


enter en lugar de un
clic en el boton sin tener que irme de la pagina en la


que estoy o
ineludiblemente tengo que dejar la pagina de ingreso de


datos, validar el
codigo de cliente y despues volver con otra pagina o la


misma informandole
que el codigo esta bien o es invalido..???

Es decir no queda otra que completar el formulario,


enviar la informacion al
servidor, validar dichos datos e informar al usuario


cuales campos tiene
que cambiar o que todo fue bien y continuar con otro


ingreso...?

Que te parece...???


"Jhonny Vargas P."


escribió en el mensaje
news:%
Hola Mario,

Lo puedes hacer de dos formas, una en el servidor y la




otra en el lado del
cliente con código Javascript.

- La primera alternativa es muy simple.

pagina.asp

<%
Dim Accion, Nombre, Apellido, Errores

Accion = Trim(Request("Accion"))
Nombre = Trim(Request("Nombre"))
Apellido = Trim(Request("Apellido"))

Errores = ""
If Accion = "Actualizar" Then
If Nombre = "" Then
Errores = Errores & "- Debe ingresar el Nombre."
End If
If Apellido = "" Then
Errores = Errores & "- Debe ingresar el Apellido."
End If
End If
%>

<html>
<body>
<form name="Datos" action="pagina.asp" method="post">
Nombre: <input type="text" name="Nombre" value="<%




=Nombre%>"><br>
Apellido: <input type="text" name="Apellido" value="<%




=Apellido%>"><br>
<input type="submit" name="Accion" Value="Actualizar">
</form>
</body>
<%
If Errores <> "" Then
%>
<script language="javascript">
alert('<%=Errores%>');
</script>
<%
End If
%>

</html>






"Mario Cassanelli" wrote in






message
news:
> El tema es asi:
> Validar un formulario -cosa recontra vista en el




foro- , pero no
validar
el
> campo para saber si el dato ingresado es numerico o




char.
>
> Para hacerlo sencillo: un input en un formulario que




dice ingrese nro de
> cliente -para dar de alta- , la validacion se hace




sobre una base de
datos.
> Asi por ejemplo el alta de un cliente en una




aplicacion valida sobre el
> mismo formulario: ingreso el codigo busco que no se




encuentre en la
tabla,
> continuo con los datos...
>
> No me doy cuenta como hacer para que cuando tenga que




validar los campos
de
> un formulario de ingreso, tenga que crear:
> 1. la pagina de ingreso
> 2. la pagina de validacion
> 3. avisarle al usuario cuales son los campos cuyos




datos no existen, por
> ejemplo el cod_postal, que el codigo postal que




ingreso esta mal que
vuelva
> a ingresarlo y asi...
> 4. volver al punto 2.
>
> Se puede hacer de otra manera, es decir
> 1. pagina de ingreso
> 2. rutinas de validacion
> 3. avisarle sobre la misma pagina cuales campos cuyos




datos no son
> validos..?
>
> Gracias
> Mario Cassanelli
>
>
>






.





.

Respuesta Responder a este mensaje
#7 Mario Cassanelli
03/09/2003 - 13:24 | Informe spam
Gracias Oscar por tu tiempo y tu aporte, veo como lo pongo a funcionar, es
bueno esto porque me pone a trabajr en XML que lo tenia por ahi dando vuelta
y por la falta de tiempo no lo hacia pero ahora con tu aporte podre hacerlo
mas rapido.

Gracias
Saludos,
Mario

"Oscar" escribió en el mensaje
news:088401c36d44$b39c6240$
Para las conexiones, podrás usar cualquier tecnología que
permita ASP, ya que es a una página de este tipo a la que
llamas desde el objeto XMLHTTP.

Te pongo un ejemplo de como hacerlo, a ver si te orienta.

Por cierto, en mi empresa, el IE es el navegador
corporativo, por lo que solemos programar en VBScript para
el cliente también.

Saludos.


'*************************************'
'********CÓDIGO EN PÁG. LOCAL*********'
'*************************************'

Function ValidaDatos()
'Valida Datos llamando a una página ASP

Dim CadXML
CadXML = "<DATOS>" _
& "<DATO_VALIDACION>" &
document.formulario.DatoVal.value & "</DATO_VALIDACION>" _
& "</DATOS>"

Dim oxmlhttp, oResultado
Set oxmlhttp = CreateObject("Microsoft.XMLHTTP")
oxmlhttp.Open "POST", "ValidaDatos.asp", false
oxmlhttp.Send CadXML

Set oResultado = CreateObject("Microsoft.XMLDOM")
Set oResultado = oxmlhttp.responseXML

if not oResultado.selectSingleNode("//VALIDACION
[.='OK']") is nothing then
ValidaDatos = "OK"
else
ValidaDatos = "ERROR"

end if

End Function


'*************************************'

'**********************************************'
'********CÓDIGO ASP EN ValidaDatos.asp*********'
'**********************************************'

<%@ Language=VBScript %>

<% Response.Buffer = true

Dim oDatos
Set oDatos = CreateObject("Microsoft.XMLDOM")

'Aqui se cogen los datos enviados por XMLHTTP
oDatos.load request

'Se pueden pasar más datos en el XML, no necesariamente uno
Dato=oDatos.SelectSingleNode("//DATO_VALIDACION").text

'--
'Aqui harías la conexión a BD y la validación en sí
'--


'Ahora se devuelve la respuesta
'Se puede hacer de dos maneras:

'En el ejemplo, se recibe así:
' Set oResultado = oxmlhttp.responseXML
'y para ello hay que devolver así:

Dim oResultado
Set oResultado = CreateObject("Microsoft.XMLDOM")
oResultado.loadXML "<?xml version='1.0' ?>" _
& "<RESPUESTA>" _
& "<VALIDACION>" & Validacion
& "</VALIDACION>" _
& "</RESPUESTA>"

Response.ContentType="text/xml"
oResultado.save Response

set oResultado = nothing

'-


'También se puede responder así:


response.write "<?xml version='1.0' ?>" _
& "<RESPUESTA>" _
& "<VALIDACION>" & Validacion
& "</VALIDACION>" _
& "</RESPUESTA>"

response.end

'y en cliente se recibe así:
' oResultado.loadXML oxmlhttp.responseText


%>

'*************************************'



Buenisimo, muchisimas gracias es una opcion interesante,


he visto algunas
cosas realizadas en xml, vamos a ver que pasa

Gracias Oscar y bueno te consultare, para saber en donde


puedo mirar por el
tema de la conexiones si con ADO no hay problema o hay


que usar otra
tecnologia.

Saludos
Mario


"Oscar" escribió en el mensaje
news:08ae01c36c7f$8f44e810$
Prueba con el objecto XMLHTTP.

Esto te permite, sin abandonar la página de cliente,
enviar a otra página ASP código XML para realizar
validaciones o grabar datos, etc.

Es como si realizara las operaciones por debajo, por lo
que no abandonarías la página actual y no la tienes que
recargar.

Si te surgen dudas, consúltame.

Saludos.


Hola Jhonny..!!

Antes, Gracias por tu tiempo...

Ahora lo que me decis es ingreso los datos en el


formulario y luego valido
en el servidor cuando el usuario hace clic en el boton de


submit,
Ahora la pregunta es: se puede hacer antes la validacion


sobre el codigo de
cliente, por ejemplo cuando el usuario pulsa la tecla


enter en lugar de un
clic en el boton sin tener que irme de la pagina en la


que estoy o
ineludiblemente tengo que dejar la pagina de ingreso de


datos, validar el
codigo de cliente y despues volver con otra pagina o la


misma informandole
que el codigo esta bien o es invalido..???

Es decir no queda otra que completar el formulario,


enviar la informacion al
servidor, validar dichos datos e informar al usuario


cuales campos tiene
que cambiar o que todo fue bien y continuar con otro


ingreso...?

Que te parece...???


"Jhonny Vargas P."


escribió en el mensaje
news:%
Hola Mario,

Lo puedes hacer de dos formas, una en el servidor y la




otra en el lado del
cliente con código Javascript.

- La primera alternativa es muy simple.

pagina.asp

<%
Dim Accion, Nombre, Apellido, Errores

Accion = Trim(Request("Accion"))
Nombre = Trim(Request("Nombre"))
Apellido = Trim(Request("Apellido"))

Errores = ""
If Accion = "Actualizar" Then
If Nombre = "" Then
Errores = Errores & "- Debe ingresar el Nombre."
End If
If Apellido = "" Then
Errores = Errores & "- Debe ingresar el Apellido."
End If
End If
%>

<html>
<body>
<form name="Datos" action="pagina.asp" method="post">
Nombre: <input type="text" name="Nombre" value="<%




=Nombre%>"><br>
Apellido: <input type="text" name="Apellido" value="<%




=Apellido%>"><br>
<input type="submit" name="Accion" Value="Actualizar">
</form>
</body>
<%
If Errores <> "" Then
%>
<script language="javascript">
alert('<%=Errores%>');
</script>
<%
End If
%>

</html>






"Mario Cassanelli" wrote in






message
news:
> El tema es asi:
> Validar un formulario -cosa recontra vista en el




foro- , pero no
validar
el
> campo para saber si el dato ingresado es numerico o




char.
>
> Para hacerlo sencillo: un input en un formulario que




dice ingrese nro de
> cliente -para dar de alta- , la validacion se hace




sobre una base de
datos.
> Asi por ejemplo el alta de un cliente en una




aplicacion valida sobre el
> mismo formulario: ingreso el codigo busco que no se




encuentre en la
tabla,
> continuo con los datos...
>
> No me doy cuenta como hacer para que cuando tenga que




validar los campos
de
> un formulario de ingreso, tenga que crear:
> 1. la pagina de ingreso
> 2. la pagina de validacion
> 3. avisarle al usuario cuales son los campos cuyos




datos no existen, por
> ejemplo el cod_postal, que el codigo postal que




ingreso esta mal que
vuelva
> a ingresarlo y asi...
> 4. volver al punto 2.
>
> Se puede hacer de otra manera, es decir
> 1. pagina de ingreso
> 2. rutinas de validacion
> 3. avisarle sobre la misma pagina cuales campos cuyos




datos no son
> validos..?
>
> Gracias
> Mario Cassanelli
>
>
>






.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida