Olá, fiz uma validação em java script, que funciona com os inputs, porém não funciona com os calendar do primefaces, pois eles são criados dentro de um spanm segue o codigo de vaçlidação:
//java script
jQuery.ketchup
.validation('required', 'This field is required.', function(form, el, value) {
// var type = el.attr('type').toLowerCase();
//if(type == 'checkbox' || type == 'radio') {
// return (el.attr('checked') == true);
//} else {
return (value.length != 0 && (value.trim().length != 0 || value === ""));
//}
})
//caçlendar
<p:calendar id="#{cc.attrs.id}" size="#{cc.attrs.size}"
showButtonPanel="true" readonlyInput="true"
disabled="#{cc.attrs.disabled}" readonly="#{cc.attrs.disabled}"
mindate="#{cc.attrs.minDate}" required="#{cc.attrs.required}"
locale="#{localeController.currentLocale}" navigator="true"
effect="fold"
styleClass="inputtext #{cc.attrs.classeCss} #{validadores == null ? '' : validadores} #{limpavel==true?'limpavel':''}"
value="#{cc.attrs.value}" pattern="#{cc.attrs.pattern}" />
//como eu chamo na pagina prestem aten~]ao no campo validadores
<comp:calendar id="dtColeta" value="#{mBeanManter.carga.dtColeta}" pattern="dd/MM/yyyy"
disabled="#{!p:ifAnyGranted('C_E_EMB')}"
label="#{msgCarga.lblDtPrevista}" size="12" required="true" validadores="validate(requiredCalendar)"/>
bom se fosse em input, do prime mesmo funcionaria, porém ele gera este codigo, que vi pelo firebug, prestem atenção que ele cria a o validate na classe do span e não no input por isso não consigo validar
<span id="dtColeta:dtColeta" class="inputtext validate(required)">
<input id="dtColeta:dtColeta_input" class="ui-inputfield ui-widget ui-state-default ui-corner-all hasDatepicker" type="text" size="12" name="dtColeta:dtColeta_input" role="textbox" aria-disabled="false" aria-readonly="false" aria-multiline="false">
</span>
o que faço para validar??