वसंत में @ वालिद और @ वैध के बीच अंतर दो अलग-अलग सत्यापन विधियों का समर्थन करता है: वसंत सत्यापन और जेएसआर -303 बीन सत्यापन। दोनों का उपयोग वसंत सत्यापनकर्ता को परिभाषित करके किया जा सकता है जो कि बीन सत्यापनकर्ता समेत अन्य प्रतिनिधियों को प्रतिनिधि करता है। अब तक सब ठीक है।स्प्रिंग
लेकिन वास्तव में प्रमाणीकरण का अनुरोध करने के तरीकों की व्याख्या करते समय, यह एक और कहानी है। मैं इस
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) {
की तरह टिप्पणी कर सकते हैं या इस
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) {
यहाँ की तरह, @Valid javax.validation.Valid है, और @Validated org.springframework.validation.annotation.Validated है। बाद के लिए डॉक्स का कहना है कि JSR-303 के मान्य, सत्यापन के विनिर्देश समर्थन समूहों की
संस्करण। वसंत के जेएसआर -303 समर्थन के साथ सुविधाजनक उपयोग के लिए डिज़ाइन किया गया लेकिन जेएसआर -303 विशिष्ट नहीं है।
जो बहुत मदद नहीं करता है क्योंकि यह बिल्कुल नहीं बताता कि यह अलग कैसे है। अगर सब पर। दोनों मेरे लिए बहुत अच्छा काम कर रहे प्रतीत होते हैं।
दिलचस्प हो सकता है: http://stackoverflow.com/questions/18911154/how-to-specify- validation-group-for-valid –
_ "सत्यापन समूहों के विनिर्देश का समर्थन करना" _ एक बहुत स्पष्ट कथन है। – zeroflagL
मुझे यह सोचना चाहिए कि वैध जेएसआर 303 सत्यापन (NotNull, आदि) के साथ कसकर जोड़ दिया गया है। जबकि आप अन्य सत्यापन/समूह बना सकते हैं और उन्हें मान्य में चेक किया है। – Atul