2011-09-03 16 views
9

Sto usando jquery validation plugin per convalidare i miei moduli. Per convalidare un input di testo tutto ciò che faccio è scrivere class="required" nell'attributo e fa la convalida per me.Convalida del tempo con Jquery

Ora sto provando a convalidare un input in cui gli utenti dovranno immettere il tempo (come 02:45:00 AM) ma il plug-in che sto utilizzando non ha alcuna funzione per la validazione del tempo. Quindi, devo costruire una convalida personalizzato per questo, ma il problema è che non ho la conoscenza di jQuery :(

La prego di farmi vedere come fare questo?

Grazie in anticipo

Per la vostra informazioni che ho bisogno di costruire per il formato 12 ore

+0

dare alcune caselle combinate per selezionare il tempo per l'utente, quindi è possibile convalidare l'esaily –

risposta

21

si potrebbe utilizzare jQuery validatori addMethod()

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.6/jQuery.Validate.js" type="text/javascript"></script> 
<script type="text/javascript"> 

$().ready(function() { 

$.validator.addMethod("time", function(value, element) { 
return this.optional(element) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$/i.test(value); 
}, "Please enter a valid time."); 

    $("#login").validate({ 
      rules: { 
        time: "required time", 
      }, 

    }); 

}); 

</script> 
</head> 
<body> 
    <form id="login" name="login" method="post" action="#"> 
    <h1>Time Validation</h1><br /> 
    <label for="time">Enter Time</label> 
    <input id="time" name="time" type="text" value="" tabindex="1" /><br /> 
    <input id="submit" name="submit" type="submit" value="Submit" tabindex="2" /> 
</form> 
</body> 
</html>​ 

Ecco un jsfiddle -. 012.393.

Spero che questo aiuti.

+0

Grazie mille Martyhines. Vorresti cortesemente dirmi quale codice scrivere qui - restituire this.optional (elemento) ||/^ (([0-1] [0-9]) | ([2] [0-3])?): (? [0-5] [0-9]) (: ([0-5] ? [0-9])) $/i.test (valore); per renderlo valido per il formato 12 ore (es: 02:30 AM). * Non è consentito il formato 24 ore (no- 21:20) –

+6

Puoi usare '^ (([0-1]? [0-2]) | ([2] [0-3])): ([0-5] [0-9])? (:? ([0-5] [0-9])? (a | p) m) $ 'per convalidare per 12:34:56 o pm, oppure puoi usare'^(([0-1]? [0-2]) | ([2] [0-3])): ([0-5 ]? [0-9]) (a | p) m? $ 'Per le 12:34 o le pm. Dai un'occhiata a http://rubular.com/ per giocare con queste espressioni regolari. – martyhines

+0

Funziona perfettamente. Grazie mille ancora .. per il tuo aiuto. :) –

Problemi correlati