jquery hora de inicio/validación de hora de finalización
Frecuentes
Visto 2,197 veces
0
Necesito validar la hora de inicio y la hora de finalización. Parece que obtuve la validación para que funcione parcialmente, pero cuando no hay valor para ambos, entonces no necesito validar, por lo que no es necesario.
$.validator.addMethod("endTimeRange", function() {
var n=new Date();
var st = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#startTime").val());
var nd = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#endTime").val());
return nd > st;
}, "Please specify a correct end time, the end time must be before the second.");
$.validator.addMethod("startTimeRange", function() {
var n=new Date();
var st = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#startTime").val());
var nd = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#endTime").val());
return st < nd;
}, "Please specify a correct start time, the start time must be after the end time.");
startTime: {
required: function(element) {
return $("#endTime").val().length > 0;
},
startTimeRange:true
},
endTime: {
required: function(element) {
return $("#startTime").val().length > 0;
},
endTimeRange:true
},
1 Respuestas
0
En primer lugar, sus dos métodos de validación hacen lo mismo. Para implementar una validación exitosa si uno o ambos campos están vacíos, simplemente agréguelos a su declaración:
// default is true
var isValid = true;
// if either value is empty, dont validate
if ($("#endTime").val() !== '' && $("#startTime").val() !== '') {
// start time must be before end time
isValid = startTime <= endTime;
}
return isValid;
contestado el 03 de mayo de 12 a las 19:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery jquery-plugins or haz tu propia pregunta.
¿Cómo incorporaría lo que tengo con su sugerencia? sfsfs sfsfsfs
te estás acercando al "¿puedes hacer mi trabajo por mí?" Punto, te sugiero que pases más tiempo tratando de que funcione. - bebe
Cambié la función a esto, valida pero un poco no es correcta. así que cuando selecciono una hora de finalización, todavía muestra el mensaje de error: sfsfs sfsfsfs
$.validator.addMethod("rango de fechas", function() { var n=nueva Fecha(); var st = Fecha.parse( n.getMonth()+1+'/'+n.getDate()+'/' +n.getFullYear() + ' ' + $("#startTime").val()); var nd = Fecha.parse( n.getMonth()+1+'/'+n.getDate()+'/ '+n.getFullYear() + ' ' + $("#endTime").val()); var isValid = true; //alert('1t' + st); // alert('2t' + nd) ; if ($("#endTime").val() !== '' && $("#startTime").val() !== '') { isValid = nd > st; } return isValid; }, "Por favor, especifique una hora válida"); - sfsfs sfsfsfs