当我通过REST提交表单并获得验证错误时,我想保留有效的字段并恢复验证失败的现有值,并显示这些字段失败的消息。
使用Spring MVC进行服务器端渲染很容易,但在客户端执行此操作的最佳方法是什么?我知道我可以返回自定义错误对象,并创建一个javascript函数,它将拦截它并相应地设置字段。
但是有没有一些库或模式可以减少客户端验证错误反馈的样板?我正在研究React和Spring。
修改
通过验证,我并不仅仅指输入字段的正确数据类型和长度,而是取决于对象的内部状态及其根据业务规则的关系的一些约束。客户端应该只验证数据类型,服务器应该执行业务验证。问题是,如何处理服务器中的验证失败,如上所述。
答案 0 :(得分:0)
JQuery Validation插件怎么样? https://jqueryvalidation.org/valid/
答案 1 :(得分:0)
最简单的方法是调整某种框架。我个人对表单验证的偏好是AngularJs。
开箱即用,带有检查所需输入的指令,以及正则表达式验证,最小/最大..以及其他一些。
与ngMessages指令合作,可以提供顺畅的体验。
请查看https://docs.angularjs.org/guide/forms了解详情.. 欢呼声
给你一个例子考虑以下代码的优雅:
<form name="myForm">
<label>
Enter your name:
<input type="text"
name="myName"
ng-model="name"
ng-minlength="5"
ng-maxlength="20"
required />
</label>
<pre>myForm.myName.$error = {{ myForm.myName.$error | json }}</pre>
<div ng-messages="myForm.myName.$error" style="color:maroon" role="alert">
<div ng-message="required">You did not enter a field</div>
<div ng-message="minlength">Your field is too short</div>
<div ng-message="maxlength">Your field is too long</div>
</div>
</form>