¿Cómo verifico / valido en jQuery si la fecha de finalización [cuadro de texto] es mayor que la fecha de inicio [cuadro de texto]?
jquery
date
jquery-validate
entrada
fuente
fuente
Respuestas:
Solo expandir las fusiones responde. este método de extensión funciona con el complemento jQuery validate. Validará fechas y números
Para usarlo:
o
fuente
code
si (valor == 0) {devolver verdadero; } else if (! / Invalid | NaN / ...code
Eso debería hacerlo, creo
fuente
Un poco tarde para la fiesta pero aquí está mi parte
Aquí está el detalle:
fuente
Haga referencia a jquery.validate.js y jquery-1.2.6.js. Agregue una clase startDate a su cuadro de texto de fecha de inicio. Agregue una clase endDate a su cuadro de texto de fecha de finalización.
Agregue este bloque de secuencia de comandos a su página: -
Espero que esto ayude :-)
fuente
Estaba jugando con la respuesta de danteuno y descubrí que, aunque tenía buenas intenciones, lamentablemente no funciona en varios navegadores que no son IE. Esto se debe a que IE será bastante estricto sobre lo que acepta como argumento para el
Date
constructor, pero otros no. Por ejemplo, Chrome 18 ofreceEsto hace que el código tome la ruta de "comparar fechas" y todo va cuesta abajo desde allí (por ejemplo,
new Date("11")
es mayor quenew Date("66")
y obviamente esto es lo opuesto al efecto deseado).Por lo tanto, después de considerarlo, modifiqué el código para dar prioridad a la ruta de "números" sobre la ruta de "fechas" y validar que la entrada sea numérica con el excelente método proporcionado en Validar números decimales en JavaScript - IsNumeric () .
Al final, el código se convierte en:
fuente
Los valores de fecha de los campos de texto se pueden obtener mediante el método .val () de jquery como
Recomiendo encarecidamente analizar las cadenas de fecha antes de compararlas. El objeto Date de Javascript tiene un método parse (), pero solo admite formatos de fecha de EE. UU. (AAAA / MM / DD). Devuelve los milisegundos desde el comienzo de la época de Unix, por lo que simplemente puede comparar sus valores con> o <.
Si desea diferentes formatos (por ejemplo, ISO 8661), debe recurrir a expresiones regulares o la biblioteca gratuita date.js.
Si desea ser súper amigable con el usuario, puede usar jquery ui datepickers en lugar de textfields. Existe una variante de selector de fechas que permite ingresar rangos de fechas:
http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/
fuente
Entonces necesitaba que esta regla fuera opcional y ninguna de las sugerencias anteriores es opcional. Si llamo al método, se muestra como se requiere incluso si lo configuro para que necesite un valor.
Esta es mi llamada:
Mi
addMethod
no es tan robusto como la respuesta mejor calificada de Mike E., pero estoy usando el selector de fecha JqueryUI para forzar una selección de fecha. Si alguien puede decirme cómo asegurarme de que las fechas sean números y que el método sea opcional, sería genial, pero por ahora este método funciona para mí:fuente
En javascript / jquery, la mayoría de los desarrolladores utilizan la comparación de fecha Desde y Hasta, que es una cadena, sin convertirla al formato de fecha. La forma más sencilla de comparar desde la fecha es mayor que hasta la fecha.
Analice siempre desde y hasta la fecha antes de la comparación para obtener resultados precisos
fuente
Me gusta lo que dijo Franz, porque es lo que estoy usando: P
fuente
O visite este enlace
fuente
fuente
Espero que esto ayude :)
fuente
Primero, divide los valores de dos cuadros de entrada utilizando la función de división. luego concat lo mismo en orden inverso. después de la nación concat, analizarlo a un número entero. luego compare dos valores en la declaración if. p. ej., 1> 20-11-2018 2> 21-11-2018
después de dividir y concat nuevos valores para la comparación 20181120 y 20181121, luego comparar lo mismo.
fuente
Esto debería funcionar
fuente
Si se garantiza que el formato es correcto AAAA / MM / DD y exactamente el mismo entre los dos campos, puede usar:
Como una comparación de cadenas
fuente