![](/img/trans.png)
[英]How to restrict user input to the integer 1 or 2 and not allow user to enter anything other than a integer in java?
[英]How to restrict a user to enter numerics in a Integer field with help of annotations?
我需要限制用戶在jsp字段中輸入數字值,如果失敗,它應該給出相關消息。這是我當前的聲明:
@NotNull
@Column(value="userId")
private Long userId;
我需要知道我還需要添加更多注釋,以在不更改字段數據類型的情況下獲得所需的結果。
過冬
@Range-檢查值是否在最小值和最大值之間
例
@Range(min=1, max=1000)
@Pattern-檢查屬性是否與給定匹配標志@Pattern(regex =“ regexp”,flag =)或@Patterns({@Pattern(...)})的正則表達式匹配
例
@Pattern(regex = "[0-9]+")
彈簧
@RegExp-檢查屬性是否與給定匹配標志的正則表達式匹配
例
@RegExp("[0-9]+")
這不是在驗證級別上要做的事情。
當您在表單中輸入內容並提交表單時,瀏覽器將發送一個HTTP請求,其中您的<input>
字段已序列化並作為請求參數發送。 然后,Spring會根據bean字段的數據類型,嘗試將String
請求參數值轉換為Long
類型。 如果因為String不是Long
而不能這樣做,它將拋出異常( NumberFormatException
)並以400錯誤代碼響應。
您可以在(HTML5)客戶端上使用
<input name="userId" type="number">
或使用
<input type="text" pattern="\d*" />
如果您不希望使用十進制數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.