我有一個基於Spring的Web窗體(實際上是Web Flow),我需要修改它。Spring框架驗證 - 整個表單的可選驗證?
表單有多個驗證服務器端的元素。棘手的部分是,整個形式是可選的 - 如果用戶只是點擊過去,我應該悄悄地忽略整個事情。
我該怎麼做?
我有一個基於Spring的Web窗體(實際上是Web Flow),我需要修改它。Spring框架驗證 - 整個表單的可選驗證?
表單有多個驗證服務器端的元素。棘手的部分是,整個形式是可選的 - 如果用戶只是點擊過去,我應該悄悄地忽略整個事情。
我該怎麼做?
我假定您使用JSR303 Bean驗證。但是,該解決方案在很大程度上取決於你究竟是「整個表單是可選的」的意思,
你的意思是每個值都是獨立的可選:---- 最審定規則旨在接受空值(除非你explicite允許空值(@NotNull
,@NotEmpty
) - 也許這將是足以讓你的萬阿英,蔣達清
你的意思,整個表格必須是有效的,如果至少有一個值設置:----。 JSR303 Bean Validation知道驗證組的概念:只有驗證組的驗證組被請求驗證時,纔會驗證規則d(所有未明確分配的驗證規則屬於默認組)。您可以使用它爲您的可選值設計一個驗證組,然後僅在至少設置其中一個值時啓動此組的至少一個值。這可以通過爲表單實現一個自定義的DefaultGroupSequenceProvider來完成。 5.4.2. @GroupSequenceProvider
這是第二種選擇。我會檢查驗證組。謝謝! – user3120173
在驗證過程中不在'null'或空值上添加錯誤? – t0mppa