2014-05-20 14 views
5

के साथ प्रति फ़ील्ड में केवल एक त्रुटि संदेश प्रदर्शित करें मेरे पास मेरे बीन के प्रत्येक दायर पर एकाधिक सत्यापन एनोटेशन है, लेकिन मैं अपने वसंत एमवीसी एप्लिकेशन में प्रत्येक फ़ील्ड के लिए केवल पहला असफल संदेश प्रदर्शित करना चाहता हूं जहां मैं जेएसआर 303 का उपयोग कर रहा हूं। वर्तमान में , यह सभी बाधाओं का मूल्यांकन कर रहा है और प्रत्येक फ़ील्ड के लिए सभी संदेश संदेशों को प्रदर्शित कर रहा है। जब दायर खाली होता है, तो मैं अपने न्यूनतम और अधिकतम बाधा का मूल्यांकन नहीं करना चाहता हूं।जेएसआर 303

मैंने समूहों के साथ प्रयास किया है, लेकिन यह उम्मीद के अनुसार काम नहीं कर रहा है और मुझे सत्यापनकर्ता को स्पष्ट रूप से कुछ वैधकर्ता.वालिडेट() जिसे मैं टालना चाहता हूं।

क्या कुछ सत्यापन वर्गों को लिखकर इसे हासिल करने का कोई विकल्प है?

मेरे पास प्रत्येक फ़ील्ड और अधिकतम 5 के लिए कम से कम 3 बाधाएं हैं। प्रत्येक फ़ील्ड के लिए सभी सिद्धांत संदेश प्रदर्शित करना बिल्कुल अच्छा नहीं है। मैं वसंत 4.x और हाइबरनेट 4.x

उत्तर

1

जाने का तरीका समूह और समूह अनुक्रमों के माध्यम से जाना है। यह एकमात्र पोर्टेबल सुविधा है जो एक समूह के भीतर एक बाधा विफल होने पर सत्यापन आदेश और सत्यापन की समाप्ति सुनिश्चित करता है। क्या आप अपने बीन में बाधाओं को उचित समूहों में निर्दिष्ट नहीं कर सकते हैं और फिर बीन के लिए डिफ़ॉल्ट समूह अनुक्रम को फिर से परिभाषित कर सकते हैं? यह भी देखें http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-default-group-class

+0

समूह मेरे मामले में अपेक्षित काम नहीं कर रहे हैं। इसके अलावा मुझे इन समूहों को पारित करके स्पष्ट रूप से सत्यापनकर्ता को कॉल करने की आवश्यकता है। – user1614862

+0

समूहों के साथ क्या हो रहा है यह है कि ... कहता है कि मेरे पास नाम और ईमेल के रूप में दो रूप बीन वैरिएबल हैं, तो मुझे दोनों चर के लिए "@NotEmpty" और ईमेल वैरिएबल के लिए "@Email" के रूप में बाधाएं हैं। अब अगर मैं नाम फ़ील्ड पर कुछ भी दर्ज नहीं करता हूं और ईमेल फ़ील्ड के लिए गलत ईमेल प्रारूप में हूं तो मुझे त्रुटि क्षेत्र और नाम फ़ील्ड के लिए "अवैध फ़ील्ड" त्रुटि संदेश के रूप में "यह फ़ील्ड आवश्यक है" के रूप में त्रुटि संदेश प्राप्त करना चाहिए। लेकिन समूहों के साथ, यह सिर्फ नाम फ़ील्ड के लिए त्रुटि संदेश और ईमेल फ़ील्ड के लिए कुछ भी नहीं दिखा रहा है। चूंकि केवल प्रथम समूह फ़ील्ड मान्य हैं। – user1614862

+0

आप सही हैं कि आपका विशिष्ट उपयोग केस वर्तमान में समर्थित नहीं है। Https://hibernate.atlassian.net/browse/HV-462 और https://hibernate.atlassian.net/browse/BVAL-248 भी देखें। तो समूहों और समूह अनुक्रमों के माध्यम से चारों ओर एक बोझिल काम है। Mentioend एचवी मुद्दे देखें। – Hardy

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