मैं स्प्रिंग एमवीसी ढांचे के तहत validators लिखने का प्रयास कर रहा हूं, लेकिन दस्तावेज़ीकरण में एक चमकदार चूक है। Errors ऑब्जेक्ट में त्रुटि को गुजरने पर कॉल करने पर अधिकांश विधियों में त्रुटि कोड नामक स्ट्रिंग पैरामीटर की अपेक्षा होती है। ये त्रुटि कोड, यदि मैं सही त्रुटि संदेशों के लिए सही ढंग से समझता हूं तो समझता हूं। लेकिन मैं जीवन के लिए यह नहीं समझ सकता कि इन कोडों को मैप किया गया है।स्प्रिंग एमवीसी सत्यापन त्रुटि कोड कहां हल किए गए हैं?
यहाँ मैं वसंत MVC के जावाडोक से की चर्चा करते हुए कर रहा हूँ का एक उदाहरण है;
public class UserLoginValidator implements Validator {
private static final int MINIMUM_PASSWORD_LENGTH = 6;
public boolean supports(Class clazz) {
return UserLogin.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "field.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "field.required");
UserLogin login = (UserLogin) target;
if (login.getPassword() != null
&& login.getPassword().trim().length() < MINIMUM_PASSWORD_LENGTH) {
errors.rejectValue("password", "field.min.length",
new Object[]{Integer.valueOf(MINIMUM_PASSWORD_LENGTH)},
"The password must be at least [" + MINIMUM_PASSWORD_LENGTH + "] characters in length.");
}
}
}
क्या कोई मुझे प्रबुद्ध कर सकता है?
जानकारी के लिए धन्यवाद, यह मुझे मेरे वैधकर्ता का उपयोग करने के लिए पर्याप्त देता है। लेकिन सीखने के हित में मैं क्या करूँगा यदि मैं एक कस्टम संदेश कोडोडोलवर में रिवायर करना चाहता था, तो मैं कहां जाऊं? समृद्धि के लिए संसाधन संसाधन बंडल मैसेजसोर्स का जावाडोक http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/support/ResourceBundleMessageSource.html पर है। –
यदि आप एक कस्टम MessageCodeResolver का उपयोग करना चाहते हैं, तो आप किसी दिए गए नियंत्रक के लिए एक असाइन कर सकते हैं। एक दृष्टिकोण, तब, सभी नियंत्रक बीन्स को एक नियंत्रक बीन परिभाषा से प्राप्त करने के लिए बीन विरासत का उपयोग करना है, जैसा कि यहां वर्णित है: http://forum.springsource.org/showthread.php?t=46336 वर्तमान में कोई तरीका नहीं है वैश्विक रूप से एक कस्टम MessageCodeResolver परिभाषित करने के लिए; इसके लिए यहां एक वृद्धि अनुरोध है: https://jira.springsource.org/browse/SPR-5187 –
संदर्भ के लिए, वैश्विक कस्टम 'MessageCodeResolver' सुविधा अंततः स्प्रिंग 3.1 (2011) में कार्यान्वित की गई थी। यह भी देखें [एसपीआर -6506] (https://jira.spring.io/browse/SPR-6506)। – vallismortis