التحقق من صحة الربيع مع valid أين/كيف رسائل الخطأ المخصصة
-
28-09-2019 - |
سؤال
أحاول القيام ببعض التحقق من صحة الربيع من خلال رسائل الخطأ في ملفات الخصائص. لكن يبدو أن جميع الأمثلة التي أجدها تحتوي على القيم المتشددين ، أو حصلت عليها من ملف الخصائص ولكن باستخدام فئة المدقق واستردادها هناك.
الإعداد الخاص بي مختلف بعض الشيء. أنا أستخدم التعليق التوضيحي ValID في requertmapping الخاص بي ، ويستخدم فئة Valid الخاصة بي notnull وما إلى ذلك. ولكن هذا أيضًا متشدد ، وأرغب في وضع الرسائل في ملف الخصائص حتى أتمكن من تحريره بسهولة أثناء الطيران ، وبالتالي يمكنني تنفيذ i18n بسهولة في المستقبل.
أي مدخلات حول كيفية تحقيق ذلك سيكون موضع تقدير.
المحلول
إنه يعمل بنفس الطريقة تمامًا كما هو صريح Validator
- أنت إعلان أ MessageSource
وكتابة رسائل الخطأ في .properties
الملفات. تتشكل رموز الرسائل على أنها constraintName.modelAttributeName.propertyName
:
publib class Foo {
@NotNull private String name;
...
}
.
@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }
messages.properties
:
NotNull.foo.name=...
MessageSource
إعلان:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value = "messages" />
</bean>