Foros del Web » Programando para Internet » Jquery »

Validar Formulario - Ketchup

Estas en el tema de Validar Formulario - Ketchup en el foro de Jquery en Foros del Web. Hola a todos. Gracias por la ayuda. Estoy haciendo un proyecto en ASP clasico con ciertos elementos en Javascript. He tratado de usar varios plugins ...
  #1 (permalink)  
Antiguo 10/12/2012, 15:06
Avatar de focesar  
Fecha de Ingreso: abril-2005
Mensajes: 84
Antigüedad: 19 años
Puntos: 0
Pregunta Validar Formulario - Ketchup

Hola a todos.
Gracias por la ayuda.
Estoy haciendo un proyecto en ASP clasico con ciertos elementos en Javascript.

He tratado de usar varios plugins de javascript para validar el formulario, el ultimo que estoy usando es https://github.com/mustardamus/ketchup-plugin/downloads

Pero no logro que se valide que el campo de telefono solo debe contener numeros y que debe de ser de 8 caracteres.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="es-es">

<head>

<!-- metas -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<!-- inicio del codigo para insertar favicon en pagina y acceso directo -->
<link href='../images/favicon.ico' rel="shortcut icon">
<link rel="icon" type="image/ico" href='../images/favicon.ico'>

<!-- titulo del sitio web -->
<title>Sistema para el Control de Instalaciones - SICOIN</title>

<!-- codigo para carga de los CSS -->
<link type="text/css" href="../default.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="../jquery.ketchup.css">

<!--Carga JavaScript-->
<script type="text/javascript" src="../js/jquery-ui-1.8.21.custom.min.js"></script>
<script type="text/javascript" src="../js/jquery.ketchup.js"></script>
<script type="text/javascript" src="../js/jquery.ketchup.validations.js"></script>
<script type="text/javascript" src="../js/jquery.ketchup.helpers.js"></script>
<script type="text/javascript" src="../js/scaffold.js"></script>
<script type="text/javascrip">
$('#validation-events').ketchup({
});

/*if you set the fields to validate in the call
  you  simply pass  in a array as value.  First
  argument is  the validations string  and  the
  second is the events string. Like so:
*/
$('#validation-events').ketchup({}, {
  '#telefono': ['required',' range(8,8)', 'keyup focus','number']
});

</script>

<script type="text/JavaScript">
function MM_jumpMenu(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;}
</script>

<%
	if request.cookies("usuario")("cedula")="" then
		Response.Write("<script>window.open('../default.asp?error=2','_top');</script>")
	else

		Dim strConnection, conn, Cnt_SQL, CnT_Str, Tec_SQL, Tec_Str
	
		strConnection = "Driver={SQL Server Native Client 10.0}; server=localhost; database=SICOIN; uid=; pwd=" 
	
		Set conn = Server.CreateObject("ADODB.Connection")
		conn.Open strConnection

		Set Tec_Str = Server.CreateObject("ADODB.recordset")
		Set Cnt_Str = Server.CreateObject("ADODB.recordset")
		
		Cnt_SQL="Select id_central, nombre_central from centrales where caic_central = '"& request.cookies("usuario")("caic") &"' "
		Cnt_Str.open Cnt_SQL, conn, 3, 3

		Tec_SQL="select id_tecnico, codigo_tecnico, apellidos_tecnico, nombre_tecnico from tecnico where caic_tecnico='"& request.cookies("usuario")("caic") &"' order by apellidos_tecnico"
		Tec_Str.open Tec_SQL, conn, 3, 3
		
		
	end if
%>

</head>
<body class="center" style="text-align:center">

<div id="main_asignar" class="style1" style="width: 950px">
	<h2 class="center"><span class="center">Asignación de Ordenes a Técnico</span></h2>
	<br>

	<form id="validation-events" name="frmAdd" method="post" action="ost_asignar_almacenado.asp" style="width: 950px" >
	<table class="aligncentertable" style="width: 500px">
		<tr>
			<td >Cuantas OST desea asignar? :</td>
			<td >
			<select id="OSTs" name="OSTs" onChange="MM_jumpMenu('self',this,0)" class="ui-widget-content ui-corner-all center" style="width: 200px">
			<% 
				Dim i , sel , line
				For i = 1 To 20
				If CInt(Request.QueryString("Line")) = i Then
					sel = "selected"
				Else
					sel = ""
				End IF
			%>
			<option value="<%=Request.ServerVariables("SCRIPT_NAME")%>?Line=<%=i%>"<%=sel%>><%=i%></option>
			<%Next%></select></td>
		</tr>
		<tr>
			<td>Técnico al que desea asignar :</td>
			<td>
			<select id="Tecnico" name="Tecnico" class="ui-widget-content ui-corner-all" style="width: 200px; height: 20px">
				<option value="">Seleccione un tecnico...</option>
					<%do while not Tec_Str.eof%>
				<option value="<%=Tec_Str("codigo_tecnico")%>"><%=Tec_Str("apellidos_tecnico")+" "+Tec_Str("nombre_tecnico")%></option>
					<%Tec_Str.movenext%><%loop%></select></td>
		</tr>
	</table>
	<br>
	<table class="aligncentertable" style="width: 500px">
		<tr>
			<th style="height: 24px"> <div class="center" style="width: 50px">Línea</div></th>
			<th style="height: 24px"> <div class="center">Central</div></th>
			<th style="height: 24px"> <div class="center">Teléfono</div></th>
			<th style="height: 24px"> <div class="center">Movimiento</div></th>
			<th style="height: 24px"> <div class="center">Cita</div></th>
			<th style="height: 24px"> <div class="center">Venta</div></th>
		</tr>
		<%
			line = Request.QueryString("line")
			IF line = "" Then
				line = 1
			End IF
			For i = 1 To line
		%>
		<tr>
    <td><%=i%></td>
    <td><select id="txt-central" name="txt-central<%=i%>" style="width: 100px">
	    <option value="">Seleccione la central...</option>
    	<%Cnt_Str.movefirst%>
    	<%do while not Cnt_Str.eof%>
    		<option value="<%=Cnt_Str("id_central")%>"><%=Cnt_Str("id_central")+" "+Cnt_Str("nombre_central")%></option>
    	<%Cnt_Str.movenext%><%loop%>
    	</select></td>
    <td>
	<input id="telefono" type="text" name="txt-telefono<%=i%>" size="8" maxlength="8"></td>
    <td><input type="text" name="txt-movimiento<%=i%>" size="10"></td>
    <td><input type="text" name="txt-cita<%=i%>" size="10"></td>
    <td><input type="text" name="txt-venta<%=i%>" size="5"></td>
  </tr>
  <%
  Next
  %>
  </table>
  <input type="submit" name="submit" value="submit">
  <input type="hidden" name="hdnLine" value="<%=i-1%>">
</form>
</div>

</body>

</html>
__________________
El valor el hombre no es proporcional a las veces que ha triunfado, sino a las veces que se a levantado de los errores

:pensando:
  #2 (permalink)  
Antiguo 10/12/2012, 15:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Validar Formulario - Ketchup

No lo he usado, pero según la documentación, las opciones que te servirán son minlength y maxlength:
http://demos.usejquery.com/ketchup-plugin/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/12/2012, 12:52
Avatar de focesar  
Fecha de Ingreso: abril-2005
Mensajes: 84
Antigüedad: 19 años
Puntos: 0
Pregunta Respuesta: Validar Formulario - Ketchup

Al final no pude con el Ketchup.js...

Decidi usar jquery.validate.js. Y me funciona muy bien, pero no se como hacer ahora para que despues de la validacion el formulacion se envie.

La otra duda que me surgue es, se puede hacer una validacion de los numeros dijitados en el campo telefono?.

Me explico: El campo Telefono debe ser de 8 caracteres, solo contener numeros (eso ya esta cubierto) pero seria ideal, poder validar contra el SQL Server que la numeracion digitada pertenece a uno de los prefijo que tengo almacenados una tabla.

Por ejemplo. Para la central X, los numeros deben ser 2450#### y que no permita que alguno me dijite 3850#### que no corresponde a la numeracion del proyecto.

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html lang="es-es">

<
head>

<!-- 
metas -->
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<!-- 
inicio del codigo para insertar favicon en pagina y acceso directo -->
<
link href='../images/favicon.ico' rel="shortcut icon">
<
link rel="icon" type="image/ico" href='../images/favicon.ico'>

<!-- 
codigo para carga de los CSS -->
<
link type="text/css" href="../default.css" rel="stylesheet">

<!--
Carga JavaScript-->
<
script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></script>

<script type="text/JavaScript">
function MM_jumpMenu(targ,selObj,restore){
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;}
</script>
<script type="text/javascript">
  $(document).ready(function(){
    $("#cholo").validate ({
           errorContainer: "#mensaje1",
           errorLabelContainer: "#mensaje1 ul",
           wrapper: "li", debug:true,
           submitHandler: function() { return confirm('¿Desea almacenar?'); }
    })
  });
</script>
<style type="text/css">
    #mensaje1 { display: none }
    select.error { border: 1px solid red; }
    input.error{ border: 1px solid red; }
</style>
<%
    if request.cookies("usuario")("cedula")="" then
        Response.Write("<script>window.open('../default.asp?error=2','_top');</script>")
    else

        Dim strConnection, conn, Cnt_SQL, CnT_Str, Tec_SQL, Tec_Str, Mvm_SQL, Mvm_Str
    
        strConnection = "Driver={SQL Server Native Client 10.0}; server=localhost; database=SICOIN; uid=; pwd=" 
    
        Set conn = Server.CreateObject("ADODB.Connection")
        conn.Open strConnection

        Set Tec_Str = Server.CreateObject("ADODB.recordset")
        Set Cnt_Str = Server.CreateObject("ADODB.recordset")
        Set Mvm_Str = Server.CreateObject("ADODB.recordset")
        
        Cnt_SQL="Select id_central, nombre_central from centrales where caic_central = '"& request.cookies("usuario")("caic") &"' or caic_central ='0'"
        Cnt_Str.open Cnt_SQL, conn, 3, 3

        Tec_SQL="select id_tecnico, codigo_tecnico, apellidos_tecnico, nombre_tecnico from tecnico where caic_tecnico='"& request.cookies("usuario")("caic") &"' order by apellidos_tecnico"
        Tec_Str.open Tec_SQL, conn, 3, 3
        
        Mvm_SQL="Select id_movieminto, codigo_movimiento, descripcion_movimiento from codigo_movimiento order by codigo_movimiento"
        Mvm_Str.open Mvm_SQL, conn, 3, 3
        
    end if
%>

</head>
<body class="center" style="text-align:center">

<div id="main_asignar" style="width: 950px">
    <h2 class="center"><span class="center">Asignación de Ordenes a Técnico</span></h2>
    <br>

    <form id="cholo" name="frmAdd" method="post" action="asignar_ost.asp" style="width: 950px">
    <table class="aligncentertable" style="width: 500px">
        <tr>
            <td >Cuantas OST desea asignar? :</td>
            <td >
            <select id="OSTs" name="OSTs" onChange="MM_jumpMenu('self',this,0)" class="ui-widget-content ui-corner-all center" style="width: 200px">
            <% 
                Dim i , sel , line
                For i = 1 To 20
                If CInt(Request.QueryString("Line")) = i Then
                    sel = "selected"
                Else
                    sel = ""
                End IF
            %>
            <option value="<%=Request.ServerVariables("SCRIPT_NAME")%>?Line=<%=i%>"<%=sel%>><%=i%></option>
            <%Next%></select></td>
        </tr>
        <tr>
            <td>Técnico al que desea asignar :</td>
            <td>
            <select id="Tecnico" name="Tecnico" class="ui-widget-content ui-corner-all" style="width: 200px; height: 20px">
                <option value="">Seleccione un tecnico...</option>
                    <%do while not Tec_Str.eof%>
                <option value="<%=Tec_Str("codigo_tecnico")%>"><%=Tec_Str("apellidos_tecnico")+" "+Tec_Str("nombre_tecnico")%></option>
                    <%Tec_Str.movenext%><%loop%></select></td>
        </tr>
    </table>
        <br>
    <table class="aligncentertable" style="width: 500px">
        <tr>
            <th style="height: 24px"> <div class="center" style="width: 50px">Línea</div></th>
            <th style="height: 24px"> <div class="center">Central</div></th>
            <th style="height: 24px"> <div class="center">Teléfono</div></th>
            <th style="height: 24px"> <div class="center">Movimiento</div></th>
            <th style="height: 24px"> <div class="center">Cita</div></th>
            <th style="height: 24px"> <div class="center">Venta</div></th>
        </tr>
        <%
            line = Request.QueryString("line")
            IF line = "" Then
                line = 1
            End IF
            For i = 1 To line
        %>
        <tr>
    <td><%=i%></td>
    <td><select id="central" name="central<%=i%>" style="width: 100px" class="ui-widget-content ui-corner-all required">
        <option value="">Seleccione la central...</option>
        <%Cnt_Str.movefirst%>
        <%do while not Cnt_Str.eof%>
            <option value="<%=Cnt_Str("id_central")%>"><%=Cnt_Str("id_central")+" "+Cnt_Str("nombre_central")%></option>
        <%Cnt_Str.movenext%><%loop%>
        </select></td>
    <td>
    <input id="telefono" type="text" name="telefono<%=i%>"  style="width: 75px" class="ui-widget-content ui-corner-all required number" minlength="8" maxlength="8"></td>
    <td><select id="movimiento" name="movimiento<%=i%>" style="width: 100px" class="ui-widget-content ui-corner-all required">
        <option value="">Seleccione el movimiento...</option>
        <%Mvm_Str.movefirst%>
        <%do while not Mvm_Str.eof%>
            <option value="<%=Mvm_Str("id_movieminto")%>"><%=Mvm_Str("descripcion_movimiento")+" ("+Mvm_Str("codigo_movimiento")+")"%></option>
        <%Mvm_Str.movenext%><%loop%>
        </select></td>
    <td><input type="text" name="cita<%=i%>" style="width: 100px"></td>
    <td><input type="text" name="venta<%=i%>" size="5"></td>
  </tr>
  <%
  Next
  %>
  </table>
  
    <div id="mensaje1"> 
        <h3>Hay errores en el formulario</h3> 
        <ul></ul>
    </div>
  <input type="submit" name="submit" value="submit">
  <input type="hidden" name="hdnLine" value="<%=i-1%>">
</form>
</div>

</body>

</html> 
__________________
El valor el hombre no es proporcional a las veces que ha triunfado, sino a las veces que se a levantado de los errores

:pensando:
  #4 (permalink)  
Antiguo 11/12/2012, 13:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Validar Formulario - Ketchup

Tendrás que usar el método remote, llamando a una página en el servidor que realice la consulta a la base de datos y devuelva el format JSON esperado por el método:
http://docs.jquery.com/Plugins/Valid...remote#options
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 11/12/2012, 14:32
Avatar de focesar  
Fecha de Ingreso: abril-2005
Mensajes: 84
Antigüedad: 19 años
Puntos: 0
Respuesta: Validar Formulario - Ketchup

Gracias David. Voy a revisarlo el metodo remote.

Alguno sabe por que mi codigo no envia el formulario?.
__________________
El valor el hombre no es proporcional a las veces que ha triunfado, sino a las veces que se a levantado de los errores

:pensando:

Etiquetas: formulario, html, input, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:42.