我有一個輸入字段,必須輸入SIM號碼。對於在bean那場我把下面的驗證表達式:@Pattern正則表達式不檢查空值
@Pattern(regexp = "^(?:\\d{19})$", message = "{validation.notValidSIMNumber}")
這應該是「只有19位數字被接受」。
我預計如果該字段留空,驗證也會聲稱。
但不是沒有錯誤消息......
編輯: 對不起,我寫了假的正則表達式(與|末)。 所以,要清楚:我需要驗證輸入字段,它必須是19位數字。沒有可能將它留空。
使用上面的正則表達式,如果我將它留空,我不會收到任何錯誤消息,但只要我輸入的內容不是19位數字,就會收到錯誤消息。
是否爲空值「ok」或不是?如果它不是你想要的,那麼刪除'|'。它的意思是「或」。由於你沒有任何東西,它會驗證空字符串 – HamZa
我沒有經驗的bean驗證,但它聽起來像不能從一個輸入字段單獨檢查。您應該在用戶提交表單或其他內容時進行檢查,並確保每個必填字段都不爲空。當用戶顯示錶單時防止輸入字段爲空是沒有意義的,否則用戶在做任何事情之前都會收到錯誤信息。 – Jerry
@Jerry你可能是對的;有註釋'@NotNull',但我只是認爲'@ Pattern'是「更強大」,可能還包括第一個... – Francesco