4
Qustion:服務器端驗證與Spring MVC和淘汰賽JS
我找了一個很好的解決方案來驗證Spring MVC
控制器我的數據,並與Knockout JS
填充錯誤。我想象一下類似於Spring Tags現有的<form:errors path="">
。 該解決方案應該提供以下性能:
- 表單提交使用jQuery和AJAX 與
- 錯誤消息
- 服務器端驗證,應自動填充到一些「淘汰賽錯誤標籤」
@ModelAttribute
和
@Valid
是否有類似的東西已經存在?如果這可以提供所需的功能,我也可以切換到另一個JS框架。 (角,骨幹網等)
我定製的解決方案:
我存儲在一個Map<String, String>
,其中關鍵是字段名和值的所有錯誤是錯誤訊息,人口中的錯誤擊倒。這個解決方案的問題在於,KnockoutJS在驗證後失去所有未綁定的字段。
驗證:
helper.getErrors().put("firstName", messageSourceProvider.getMessage("validation.requiredDefault"));
序列化:
JSONSerializer serializer = new JSONSerializer();
serializer.include("helper");
serializer.include("helper.errors");
String json = serializer.serialize(helper);
淘汰賽:
<!-- ko foreach: errors -->
<!-- ko if: key === 'firstName' -->
<span data-bind='text: value' class="spring-error ordinary-tooltip fa fa-lg fa-exclamation-circle"></span>
<!-- /ko -->
<!-- /ko -->
您可能能夠將https://github.com/Knockout-Contrib/Knockout-Validation與來自後端的錯誤響應相結合。 – FredrikO 2014-12-08 15:39:12