2017-01-27 1 views
2

У меня есть этот кусок кода. На данный момент проверка выполняется кнопкой. Но я также хочу вызвать подтверждение, если есть значение по умолчанию, которое уже присутствует там, когда загружается страница. Как я могу это сделать? Благодарю.Как вызвать календарный валидатор по умолчанию по времени загрузки

// ... the calendar 
<div class="formBlock"> 
    <p class="formGroupTitle">#{msg['startEmploymentDate']}</p> 
    <p:message id="startDateMessage" for="startDate" /> 
    <p:calendar id="startDate" required="true" pattern="dd.MM.yyyy" 
      locale="de" requiredMessage="#{nts['pleaseEnterAFutureDate']}" 
      mindate="#{companyJobProfileCreateStep2Bean.currentDate}" 
      value="#{companyJobProfileCreateStep2Bean.jobProfile.startDate}" 
      converterMessage="#{nts['pleaseEnterAFutureDate']}" 
      validator="futureDateValidator" showOn="button" navigator="true"> 
      <p:ajax event="dateSelect" update="@(.roundedNumberRefreshable)" 
        listener="#{companyJobProfileCreateStep2Bean.updateSearchParameters()}" /> 
    </p:calendar> 
</div> 

// ... and the button 
<p:commandButton 
    value="#{companyJobProfileCreateStep2Bean.getJobProfile().ams ? msg['sendProposal'] : msg['accept']}" 
    oncomplete="if (args &amp;&amp; !args.validationFailed) {PF('generalDetailsSlider').unselect(0);PF('paymentDetailsSlider').select(0);}" 
    update="@(.adtextUpdateable) @(.hasAddressAndMessageUpdateable) startDate vacancies startDateMessage vacanciesMessage @(.generalDetailsSliderHeaderUpdateable) @(.progressBarCompany)" 
    actionListener="#{companyJobProfileCreateStep2Bean.verifyHasAddresses()}" 
    process="startDate vacancies" partialSubmit="true"></p:commandButton> 
+0

Почему бы вам просто не проверить его в методе init вашего бэк-компонента? – pablo

+0

@pablo: Предположим, вы хотите проверить все поля таким образом, тогда вы дублируете функциональность. – Kukeltje

+0

Ну, у вас уже есть код, выделенный в определенном валидаторе, который вы можете повторно использовать, верно? – pablo

ответ

0

У меня есть идея, которая может работать с использованием remoteCommand (Немного хака). В основном вы будете симулировать, что произойдет, когда нажата кнопка отправки. Вы можете решить, когда хотите вызвать свою функцию.

Надеюсь, это поможет.

<p:remoteCommand name="errorSubmitButton" autoRun="false/true" global="false" 
       oncomplete="if (args &amp;&amp; !args.validationFailed) {PF('generalDetailsSlider').unselect(0);PF('paymentDetailsSlider').select(0);}" 
       update="@(.adtextUpdateable) @(.hasAddressAndMessageUpdateable) startDate vacancies startDateMessage vacanciesMessage @(.generalDetailsSliderHeaderUpdateable) @(.progressBarCompany)" 
       actionListener="#{companyJobProfileCreateStep2Bean.verifyHasAddresses()}" 
       process="startDate vacancies" partialSubmit="true" /> 

<h:outputScript rendered="yourConditionWhenToExecuteScriptIfYouHaveOne"> 
     $(document).ready(function() { 
      errorSubmitButton(); 
     }); 
</h:outputScript> 
+0

Спасибо. Это сработало. Я сделал некоторые небольшие изменения, но он выполняет эту работу. –

Смежные вопросы