Estoy usando dos controles RadDatePicker que muestran Date From y Date To y necesito asegurarme de que antes de enviar el formulario, se proporcione al menos una de las fechas.
Tengo una verificación de código JavaScript para asegurarme de que el usuario proporcione al menos un valor de fecha:
function validateDates(sender, eventArgs) { var datePicker1 = $find("<%=RadDatePicker1.ClientID %>"); var datePicker2 = $find("<%=RadDatePicker2.ClientID %>"); if (datePicker1.get_selectedDate() == null && datePicker2.get_selectedDate() == null) { alert("At least one date should be selected"); eventArgs.set_cancel(true); } //alert(datePicker1.lastSetTextBoxValue.value); //return false; }Esa parte funciona.
Sin embargo, un usuario también puede escribir una cadena en cuyo caso, también fallará con el mismo mensaje, porque el método get_selecteddate() también devuelve nulo.
Pero, lo que quiero es verificar si el valor ingresado tiene un formato de fecha y mostrar el mensaje correspondiente al usuario.
Entonces, en mi caso, también necesitaría usar una validación para el formato de fecha correcto.
Noté que cuando se procesa Telerik DatePicker , crea las siguientes secciones html :
<input id="ctl00_Contentplaceholder2_RadDatePicker1_dateInput" name="ctl00$Contentplaceholder2$RadDatePicker1$dateInput" class="riTextBox riError" type="text" style=""> <input id="ctl00_Contentplaceholder2_RadDatePicker1_dateInput_ClientState" name="ctl00_Contentplaceholder2_RadDatePicker1_dateInput_ClientState" type="hidden" autocomplete="off" value="{"enabled":true,"emptyMessage":"","validationText":"","valueAsString":"","minDateStr":"1980-01-01-00-00-00","maxDateStr":"2099-12-31-00-00-00","lastSetTextBoxValue":"hhh"}"> Desde ese html , veo que cuando se ingresa una cadena en un DatePicker , a su elemento de input se le asigna una clase css llamada riError y su lastSetTextBoxValue tiene una cadena que ingresé.
Entonces, puedo asumir que puedo usar esas dos propiedades para mejorar mi lógica de validación.
¿Cómo puedo hacer eso? ¿Algunas ideas?