Validar si fue seleccionada una fecha con javascript

Hola a todos, hace tiempo no escribia pero vuelvo a retomar labores... en esta ocación colocare un código muy sencillo para validar si una fecha fue seleccionada desde un calendar de faces. Esto lo cree alguna vez debido a que algunas veces seleccionaban el botón de siguiente y no se seleccionaba la fecha y a nivel de la capa de la lógica no estaba validando este valor y eso ocacionaba un error

<s:decorate id="fechaFin" template="/layout/edit.xhtml">                          
                <ui:define name="label">                                  
                    <h:outputText value="Fecha hasta" />
                </ui:define>
                <rich:spacer width="10"/>
                <rich:calendar id="fechaFinValue" value="#{filterProcessorNew.fechaFin}"                        
                                 datePattern="yyyy-MM-dd" onchanged="setFechaFin(this.value)" />
</s:decorate>   

<rich:panel align="left" rendered="#{filterProcessorNew.isOpen}" style="border:0;" >
        <s:div styleClass="actionButtons">
            <a4j:commandButton value="filtrar" action="#{filterProcessorNew.doFilter(filterList)}"        id="filtro"  reRender="#{tableName}" onclick="validaDate()">
            </a4j:commandButton>
        </s:div>   
</rich:panel>

 <script type ="text/javascript" >

        var fechaFin;
        var fechaIni;
   
        function setFechaFin(fechaF){
            fechaFin = fechaF;           
        }

        function setFechaIni(fechaI){
            fechaIni = fechaI;
        }

        function validaDate(){

            if(fechaIni == null &amp;&amp; fechaFin == null)
                alert('No selecciono un rango de fechas para el filtro, favor seleccionarlas');
            else if(fechaIni == null)
                alert('Fecha Inicial vacia, favor seleccionar una fecha para el filtro');
            else if(fechaFin == null)
                alert('Fecha Final vacia, favor seleccionar una fecha para el filtro');
           
        }

 </script>
   
Como pueden ver uso ajax y valido si las variables estan nulas, esto como para que se valide antes de hacer el llamado al bean y tenga que devolver el error, en ocaciones es preferible validar este tipo de datos a nivel de la capa de presentación mejorando el tiempo de respuesta sin embargo no cabe de más que este tipo de variables sean validadas en la capa de negocio; o simplemente cuando solo se tiene una página web que no tiene capa de negocios. Espero les haya sido de ayuda y hasta una próxima ocación.

Comentarios