2014-04-02 7 views
6

एचबीनेट द्वारा डीबी में सहेजने के लिए वैध ऑब्जेक्ट के लिए बीन सत्यापन API का उपयोग करें। अंग्रेज़ी अक्षरों सब ठीक है:बीन सत्यापन API

@Pattern(regexp="^[a-zA-Z]+$",message="Имя автора только из букв") 
private String name; 

जब मैं ने लिखा है इस:

@Pattern(regexp="^[a-zа-яA-ZА-Я]+$", message="Имя автора только из букв") 
private String name; 

यह काम नहीं करता है त्रुटि लेने के बारे में गलत जानकारी दर्ज करते हैं (Имя автора только из букв)

लेकिन regexp में रूसी अक्षरों को कैसे जोड़ें?

हां, वसंत रूप में समस्या।

 <filter> 
     <filter-name>encodingFilter</filter-name> 
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
     <init-param> 
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value> 
     </init-param> 
     <init-param> 
      <param-name>forceEncoding</param-name> 
      <param-value>true</param-value> 
     </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>encodingFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

और तरह [a-zA-Zа-яА-Я] काम ठीक regexp: निकालें regexp और रूसी पाठ दर्ज करते हैं, यह इस ÐÐμÑÑов

+1

पैटर्न को 'regexp = "^ [\ p {IsCyrillic} a-zA-Z] + $" 'में बदलें। देखें कि क्या यह काम करता है! – Keerthivasan

+0

@ ऑक्टोपस, अनुमान है कि आप 'regexp = "^ [\ p {IsCyrillic} a-zA-Z] + $" ' – stema

+0

काम नहीं करते हैं, \ p में त्रुटि, क्योंकि यह स्ट्रिंग में है। यदि \\ p जैसे लिखते हैं, – disable1992

उत्तर

1

समस्या वेब एप्लिकेशन संदर्भ में इस जोड़ने के द्वारा हल की तरह डेटाबेस में कुछ लिखना है।

+0

अपना जवाब स्वीकार करने के लिए मत भूलना। '(? I)' ध्वज का उपयोग करने से रेगेक्स केस असंवेदनशील हो जाएगा, इसलिए शायद '(? I) [a-zа-я]' आज़माएं। – Pshemo

+0

मुझे लगता है कि '[a-zA-Zа-яА-Я]' अधिक समझने योग्य लिखना। – disable1992

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