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