我正在使用AJAX控制器从服务器端提供对象。用户输入输入,AJAX控制器为该输入请求提供对象。我有一个复杂的验证逻辑,所以我用Java编写它,并把它放在AJAX控制器中。它看起来像这样:
@RequestMapping(value = "api/user/{user}", produces = "application/json", method = RequestMethod.GET)
public @ResponseBody UserData execute(@PathVariable(value = "user") String user) {
if(validator.isValid(user)) {
return service.getUserData(user);
} else {
throw new ResourceNotFoundException(INVALID_USER_FORMAT);
}
在Javascript中,我像这样调用AJAX控制器:
// obtain user from text input
var user = $('#user_input').val();
$.getJSON("/api/user/"+user, function (data) {
// ...
});
现在,我想在用户界面上显示错误消息,其中'#user_input'
中输入的用户无效。我想使用我的控制器中的验证逻辑,而不是在Javascript中也有重复的验证逻辑。
当验证失败时,我应该从AJAX控制器返回什么,以及如何在Javascript中使用它,以便我可以显示类似“用户格式无效”的内容?什么是最佳做法?