나는 SIM 번호를 입력해야하는 입력 필드가 있습니다. 콩의 해당 필드에 대해 다음 유효성 검증 표현식을 넣습니다.@Pattern 정규식은 빈 값을 확인하지 않습니다
@Pattern(regexp = "^(?:\\d{19})$", message = "{validation.notValidSIMNumber}")
"단 19 자리 숫자 만 허용됩니다."
필자는 필드를 비워두면 유효성 검사도 요청할 것으로 예상했습니다.
하지만 그 대신 오류 메시지가없는 ...
편집 : 가 미안 해요, 난 거짓 정규식 작성 (와 |를 끝). 분명히하기 위해 입력 필드의 유효성을 검사해야하며 19 자리 숫자 여야합니다. 빈 상태로 둘 가능성은 없습니다.
위의 정규 표현식을 사용하여 비워두면 오류 메시지가 나타나지 않지만 19 자리 숫자가 아닌 값을 입력하면 오류 메시지가 나타납니다.
"ok"값이 비어 있습니까? 원하는 것이 아니라면'|'를 제거하십시오. "또는"을 의미합니다. 이후에는 아무 것도 없으므로 빈 문자열을 확인합니다. – HamZa
bean 검증에 대한 경험이 없지만 입력 필드만으로는 확인할 수없는 것처럼 들립니다. 사용자가 양식 등을 제출하고 모든 필수 입력란이 비어 있지 않은지 확인해야 할 수도 있습니다. 사용자에게 양식이 표시 될 때 입력 필드가 비어있는 것을 방지하는 것은 바람직하지 않습니다. 그렇지 않으면 사용자가 아무것도 수행하기 전에 오류 메시지를 받게되기 때문입니다. – Jerry
@Jerry 당신이 맞을지도 모릅니다. 주석'@ NotNull'이 있지만, 나는'@ Pattern'이 "더 강하다"고 생각하고 처음도 포함 할 수 있다고 생각했습니다 ... – Francesco