2014-02-20 56 views
0

我正在處理Webflow應用程序,我可能需要提交當前表單才能刪除子記錄(複雜的工作流程,不好意思)。Spring綁定 - 處理數字輸入?

問題是,如果用戶向表單中輸入垃圾數據,然後按下「刪除」按鈕,則綁定和/或驗證將失敗,表單將不會被提交。

因此,如果他們輸入垃圾數據,他們不能刪除記錄。

處理用戶在Web表單中輸入「垃圾」數據的首選方式是什麼,特別是在數字字段中輸入非數字數據?我有一個春天表單支持對象,看起來像這樣:

public class MyFormInfo implements Serializable { 
    private String myName; 
    private Integer myNumber; 
} 

如果用戶在myName領域進入垃圾我可以驗證過程中忽略。但是,如果他們在myNumber字段中輸入垃圾並且綁定失敗,那麼我沒有任何好方法來捕獲該問題,並且我無法提交表單。

有人有一個很好的方法來處理這個問題嗎?

回答

1

看看這個answer,但總而言之,在轉換時類型不匹配的情況下,沒有好方法來添加錯誤消息。

可用的機制(屬性編輯器,轉換器,bean驗證)並不意味着要處理類型不匹配。

最好的解決方案可能是通過一些只接受數字的字段掩碼通過Javascript在客戶端進行驗證。然後在服務器上類型不匹配只會發生在一個錯誤的情況下,所以未處理的錯誤可能是可以接受的。

對於服務器上做這個,有可能一個String屬性添加到DTO,並應用Bean驗證:通過Bean驗證

@Pattern(regexp = "{A-Za-z0-9}*") 
String numericField; 

然後可能的錯誤信息添加到頁面中,看到這example

+0

謝謝,這幾乎是我所害怕的。只是想要一些確認。 – user3120173