2012-05-28 9 views
9

मैं जेएसएफ 2, रिचफैस 4 और स्प्रिंग का उपयोग कर रहा हूं। मेरे पास एक कमांड लिंक है। निष्पादित करने पर मैं रिकॉर्ड सहेजता हूं और पूर्ण रूप से मैं निम्न कोड जैसे रिकॉर्ड प्रदर्शित करने के लिए खोज निष्पादित करता हूं। समस्या यह है कि fireSearch() अपूर्ण निष्पादन में है भले ही फ़ॉर्म में सत्यापन त्रुटि हो। मुझे केवल fireSearch() निष्पादित करने की आवश्यकता है जब रिकॉर्ड सफलतापूर्वक सहेजा जाता है।a4j निष्पादित करने के लिए: कमांडलिंक केवल अपूर्ण होने पर सत्यापन सफल हो गया है?

सत्यापन केवल सफल होने पर मैं अधूरा कैसे हो सकता हूं?

<a4j:commandLink styleClass="button" action="#{myBean.save}" render="detail_form" execute="@form" oncomplete="fireSearch()"> 
<span> Save </span> 
</a4j:commandLink> 

उत्तर

17

RichFaces oncomplete विशेषता में अनुरोध आधारित ईएल मूल्यांकन का समर्थन करता है। इसलिए आपको FacesContext#isValidationFailed() प्रिंट करने में सक्षम होना चाहिए जैसे कि यह एक जेएस स्थिति है।

उदाहरण के लिए,

oncomplete="if (#{!facesContext.validationFailed}) fireSearch()" 

सत्यापन में नाकाम रही है, तो यह अंततः

oncomplete="if (false) fireSearch()" 

में परिणाम होगा और इस तरह समारोह लागू नहीं किया जाएगा।

+0

धन्यवाद मैं परीक्षण करूंगा और इसे चिह्नित करूंगा –

संबंधित मुद्दे