2013-10-09 5 views
2

JSR303 Spring Validation을 사용하고 다음과 같은 내용이 있습니다.필드가 Null이 아닌 경우에만 유효합니다.

@Digits(fraction = 0, integer = 15) 
private String tpMobile; 

검증 Must be number between 10-15 digits을 말한다, 그러나 것은이 분야가 선택입니다. 따라서 사용자가 비워두면 같은 오류 메시지가 나타납니다.

그래서 필드가 비어 있지 않은 경우에만 유효성을 검사합니다. 필드가 비어 있으면 해당 필드의 유효성 검사를 건너 뛰십시오.

답변

1

의 값을 확인, 당신이 사용하는 것이 좋습니다 싶습니다 @Pattern(message="YOUR_MESSAGE", regexp="REGULAR_EXPRESSION")

홈페이지 이유는 우리가 여기있는 우리는 사용자를 제한 할 값의 같은 세트에 대한 메시지를 표시한다는 것입니다 귀하의 조건에서 제한하고 싶지 않은 값에 대한 메시지가 표시됩니다.

그래서 공백과 숫자 이외의 다른 것을 입력하도록 사용자를 제한하려고합니다. 정규 표현식을 사용하고 @Pattern을 사용하십시오. 귀하의 경우를 들어

:

@Pattern(message="YOUR_MESSAGE", regexp="^(\\s*|\\d{10,15})$") 
+0

"/^(\ s * | \ d +) $ /" 을 만들었지 만 작동하지 않습니다. – Ravindu

1

분명히 양식은 널 대신 빈 문자열을 제출합니다. 그냥 대신 @Digit를 사용하는 tpMobile

+0

예치, 그 전송 빈 문자열 값을 때 불을 지르고에서 확인하시기 바랍니다. – Ravindu

+0

그래서 haw는 NULL 값을 보낼 수 있습니까 ?? – Ravindu

+0

그래, 그냥 "NULL"대신 "" –

관련 문제