2017-01-27 8 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

@パブロ:この方法ですべてのフィールドを検証し、次に機能を複製しようとしているとします。 – 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

ありがとうございます。出来た。私は少し修正を加えましたが、それは仕事をします。 –

関連する問題