2014-04-02 2 views
6

최대 절전 모드로 DB에 개체의 유효성을 검사하기 위해 Bean 유효성 검사 API를 사용하십시오.Bean 유효성 검사 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а-яА-Я] 잘 작동과 같은 정규 표현식 : 제거 정규 표현식 및 러시아어 텍스트를 입력하면 웹 응용 프로그램 컨텍스트에서이 문제를 추가로 해결이 ÐÐμÑÑов

+1

패턴을'regexp = "^ [\ p {IsCyrillic} a-zA-Z] + $"'로 변경하십시오. 그게 효과가 있는지보십시오! – Keerthivasan

+0

@Octopus, 당신이'regexp = "^ [\ p {IsCyrillic} a-zA-Z] + $"' – stema

+0

이 작동하지 않는다고 생각하셨습니까? \ p에있는 문자열은 문자열에 있기 때문입니다. \\ p와 같이 쓰면 작동하지 않습니다 – disable1992

답변

1

문제와 같은 데이터베이스 뭔가 쓰기입니다.

+0

답을 수락하는 것을 잊지 마십시오. 또한'(? i)'플래그를 사용하면 regex 대소 문자를 구분하지 않으므로'(? i) [a-z--я]'를 사용해보십시오. – Pshemo

+0

'[a-zA-Za-яА-Я]'가 더 이해하기 쉽다고 생각합니다. – disable1992

관련 문제