मेरे पास एक वस्तु है।वसंत एमवीसी एनोटेशन सत्यापन पूर्णांक
public class MyObject
{
....
@Column(name = "a_number") @NotNull @NumberFormat(style = Style.NUMBER) @Min(1)
private Integer aNumber;
...
//getters and setters
}
मेरी नियंत्रक में मैं अपने वस्तु पर @Valid एनोटेशन है तैनात किया जा रहा। मेरे पास इस नंबर को छोड़कर कक्षा (उनके सभी स्ट्रिंग्स) में मेरे सभी अन्य क्षेत्रों पर काम करने की वैधता है। अगर मैं अपने फॉर्म से एक नंबर दर्ज करता हूं तो यह ठीक काम करता है और यदि मैं @Min (1) का उल्लंघन करता हूं तो यह मुझे सही सत्यापन त्रुटि भी देता है। मेरी समस्या हालांकि यह है कि यदि आप किसी संख्या के बजाय स्ट्रिंग दर्ज करते हैं तो यह नंबरफॉर्मेट अपवाद फेंक देता है।
मैंने इंटीजर और सत्यापन के कई उदाहरण देखे हैं लेकिन यदि आप पोस्ट किए गए फॉर्म में स्ट्रिंग दर्ज करते हैं तो कोई भी खाता नहीं लेता है। क्या मुझे सत्यापन को और कहां करने की ज़रूरत है? जावास्क्रिप्ट? मुझे एक ऐसा समाधान चाहिए जो वसंत सत्यापन के बाकी हिस्सों के अनुरूप हो, इसलिए मैं इसे अन्य वर्गों में उपयोग कर सकता हूं। मुझे बस एक त्रुटि चाहिए कि यह संख्यात्मक होना चाहिए। इसके अलावा मैंने @ पैटर्न एनोटेशन का उपयोग करने की कोशिश की लेकिन जाहिर है कि केवल तारों के लिए।
सुझाव?
देखें http://stackoverflow.com/questions/4082924/jsr-303-type-checking-before- बाइंडिंग – axtavt
धन्यवाद !! काम किया हुआ पेपर! आपकी पोस्ट मेरी खोजों में कभी दिखाई नहीं दी। – sauce