6

मैं Play में अपनी ऑब्जेक्ट्स को सत्यापित करने के लिए बाधा एनोटेशन का उपयोग कर रहा हूं! ढांचा 2. यह शीर्ष स्तर की वस्तुओं के लिए ठीक काम करता है, लेकिन घोंसला वाले नहीं। मैं काम करने के लिए अपने नेस्टेड ऑब्जेक्ट सत्यापन एनोटेशन कैसे प्राप्त करूं?प्ले फ्रेमवर्क में नेस्टेड ऑब्जेक्ट्स पर सत्यापन नहीं कर रहा है 2

इवेंट: शीर्ष स्तर की वस्तु जिसे मैं सहेज रहा हूं।

@Entity 
public class Event { 

    @Required 
    public String name; 

    @OneToMany(cascade = CascadeType.ALL) 
    public List<Option> options; 

    ... 
} 

विकल्प: नेस्टेड ऑब्जेक्ट। यह नाम संपत्ति को मान्य नहीं है।

@Entity 
public class Option { 

    @Required 
    public String name; 

    ... 
} 

उत्तर

14

प्ले से परिचित नहीं है, लेकिन यह बहुत javax.validation, जिसमें आप अपने options मैदान पर @Valid डाल करने के लिए है कि रिश्ते में उतर करने सत्यापनकर्ता बताने के लिए आवश्यकता होगी के करीब लग रहा है। Play के पास @Valid है, इसलिए मैं इसे एक शॉट दूंगा।

अद्यतन: जैसा कि ओपी ने बताया, उपरोक्त प्ले 1.0 है। इसके बजाय, Play 2.0 docs प्रति, यह हुड के नीचे स्प्रिंग डेटा बाइंडिंग और जेएसआर -303 का उपयोग करता है, तो javax.validation @Valid एनोटेशन का उपयोग करने के बारे में कैसे? शायद प्ले 1.0 में घर से बना सत्यापन सत्यापन था और उन्होंने 2.0 में javax.validation में जाने का फैसला किया? यह समझाएगा कि 2.0 एपीआई में कई सत्यापन एनोटेशन क्यों गायब हो गए हैं।

+0

मेरा मानना ​​है कि यह एक प्ले 1 एनोटेशन है, न कि 2. – Brian

+0

ओह, क्षमा करें। मेरा जवाब अपडेट किया गया। कोशिश करो। –

संबंधित मुद्दे