我有一个Thymeleaf / Spring表单,使用@NotNull,@ Size,@ NotEmpty注释映射到DTO对象。提交后我检查是否有任何错误,并返回到表单页面或保存表单 - 非常标准的方法。有没有办法只从JQuery调用验证?我的意思是:如果from无效 - 返回false或重定向到表单页面,但是如果确定,则返回true并在那里停止,不要提交。
<form action="#" th:action="@{/form}" th:object="${businessTripDTO}" th:method="post" id="myForm">
<fieldset class="form-group">
<label for="idNum">Destination: </label>
<input id="idNum" type="text" class="form-control" th:field="*{destination}" />
<label th:if="${#fields.hasErrors('destination')}" th:errors="*{destination}" class="has-error"></label>
</fieldset>
<button type="submit" class="btn btn-primary">Save</button>
控制器:
@RequestMapping(value = "/form", method = RequestMethod.POST)
public String sendTripForm(@Valid BusinessTripDTO businessTripDTO, BindingResult bindingResult){
if (bindingResult.hasErrors()) {
return "form";
}
...
来自form.html的JQuery调用submit,但应该只调用服务器端验证。
$(function () {
$('body').on('click', '.odom-submit', function (e) {
$('#myForm').submit();
});
});