2015-03-02 4 views
5

में बाध्यकारी के दौरान अतिप्रवाह संख्या के लिए कस्टम संदेश स्प्रिंग में एक वेब अनुप्रयोग लिखा है। एक इंटीजर फ़ील्ड वाला एक HTML फॉर्म है। मैंने typeMismatch.java.lang.Integer के लिए एक कस्टम संदेश जोड़ा और इसे सही ढंग से संभाला गया है लेकिन एक मुद्दा है। वसंत एक स्ट्रिंग मान और "अतिप्रवाह" पूर्णांक के बीच अंतर नहीं करता है। दूसरे शब्दों में - इसमें कोई फर्क नहीं पड़ता कि उपयोगकर्ता this is a string या 1000000000000000000000000000 दर्ज करता है या नहीं। दोनों को वसंत द्वारा typeMismatch के रूप में संभाला जाता है। मैं दोनों मामलों के लिए दो अलग संदेश लेना चाहता हूं।वसंत

मैं के बारे में दो समाधान सोचा:

  1. java.math.BigInteger द्वारा java.lang.Integer की जगह प्रपत्र वस्तु में - तो typeMismatch त्रुटि केवल this is a string के लिए लागू होगी और मैं एक सत्यापनकर्ता में 1000000000000000000000000000 संभाल लेंगे
  2. रजिस्टर मेरी Integer के लिए स्वयं का संपत्ति संपादक, लेकिन मुझे यकीन नहीं है कि अगर मैं एक संपत्ति संपादक
के साथ दो अलग-अलग त्रुटियों को संभाल सकता है

क्या आपके पास इस मुद्दे के लिए कोई बेहतर अवधारणा है?

उत्तर

0

क्या आप अपनी स्प्रिंग प्रोजेक्ट में हाइबरनेट सत्यापन फ्रेमवर्क/जावा ईई 6 बीन सत्यापन को एकीकृत कर सकते हैं?

http://www.c-sharpcorner.com/UploadFile/5fd9bd/javax-annotation-and-hibernate-validator-a-pragmatic-appro/

:

@Min(1) 
@Max(10000) 
private Integer myInteger; 

यहाँ एक आसान लेख का पालन करने के लिए है:

फिर आप स्वीकार्य सीमा जैसे एक एनोटेशन के साथ अपने पूर्णांक क्षेत्र के लिए अनुमति दी सीमित हो सकती है