- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
基本上,我希望能够阻止 Spring 检查我的字段是否包含错误数据,而是让我手动处理所有验证和异常。
假设我有一个类:
public class MyClass {
int aNumber;
}
和一个 Controller :
@Controller
public class MyController {
@Autowired
private MyValidator validator;
public MyClass() {}
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.setValidator(validator);
}
@RequestMapping(value="/postsomething", method=RequestMethod.POST)
public ModelAndView onPost(@ModelAttribute("myObject") MyClass myObject, BindingResult result) {
validator.validate(myObject, result);
if (result.hasErrors()) {
return "postsomething";
}
return "redirect:success";
}
最后是 validator :
public class MyValidator implements Validator {
@Override
public void validate(Object target, Errors errors) {
MyClass myObject = (MyClass) target;
if (someCondition) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "aNumber", "error.myclass.anumber.null");
}
}
}
要点是,如果 someCondition
为真,我只希望从我的验证程序中显示一次错误消息。但是,如果我将表单中的端口字段留空,那么无论如何它都会显示 Spring 的类型不匹配错误消息。
我可以禁用 typeMismatch 错误,还是应该以其他方式解决所有这些问题?
最佳答案
简短的回答:将支持对象的成员声明为 String
。
长答案:typeMismatch
错误发生在绑定(bind)期间和之前 验证。所有用户的数据都表示为 String
值(因为这是 ServletRequest.getParameter() 返回的值)并且 Spring 尝试将 String
值转换为支持对象中的字段类型。在您的示例中,Spring 将尝试将参数 aNumber
的值转换为 int
。当您将字段留空时,Spring 会尝试将空字符串转换为 int
,当然它会提示类型不匹配。
(这个答案仍然不完整,因为 Spring 也尝试使用不同的转换器,但我相信你已经明白了。)
关于java - 如何禁用 Spring 的 "typeMismatch"异常? - Spring MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34001087/
我创建了:https://jira.spring.io/browse/BATCH-2778 我正在开发 Spring Batch + Redis (Spring Data Redis) 示例。在这个例
我有一个需要double的字段。如果您输入 String,则默认消息类似于: Failed to convert property value of type java.lang.String to
当我使用 Postman 调用配置 API 时,我收到以下 json 响应。在此响应中,两个 apiVersion 键是数字而不是字符串。 { "data": { "avail
在Spring Webflow 2.0.x的上下文中...... 我通过在我的 messages.properties 中使用以下内容来处理表单绑定(bind)“typemismatches”,即尝试
我正在尝试使用 JSONDecoder 将 JSON 转换为 Swift 中的结构,所以我写了所有的结构,修改了几个小时,但它仍然给我这个错误。我不知道是否有办法看到给出这个的行。 我将在下面发布我的
我在我的 Android 应用程序的下面第 3 行收到 JSON.typeMisMatch 错误。我不明白为什么,因为我可以在其他程序中访问这个数组。 1 JSONObject
我正在尝试使用 JSONDecoder 将 JSON 转换为 Swift 中的结构,所以我写了所有的结构,修改了几个小时,但它仍然给我这个错误。我不知道是否有办法看到给出这个的行。 我将在下面发布我的
我在网络上和 stackoverflow 中进行了一些搜索,以了解如何处理我在其中一个屏幕上收到的以下消息: Failed to convert property value of type [jav
我有一个用户域类,其中有一个名为 Gender 的枚举字段。它具有男性和女性的值(value)。当我在 GSP 页面上表示它时,它显示为下拉列表。为了测试 web 应用程序的安全性,我使用 fireb
我怎样才能在 Volley 中获得包含 Array 的 JSONObject? 逻辑 代码 Note: I'm aware that my api function below works if my
我正在尝试设置 List到 Java 对象。 设置函数为: ResponseEntity response = bcInsertService.addNewClip(new PrmBcClipInse
我正在尝试在 Android 应用程序中转换以下 JSON: [ { "patient_id": "16", "patient_firstname": "Ion
这让我们很困惑。我有一个标准的数据透视表,上面有一个报告过滤器,允许选择多个项目。我可以通过以下方式获取报告过滤器中的选定项目: Dim pi As PivotItem For Each pi In
我正在尝试将数据从静态 JSON 文件解析到我的实体,但出现以下错误:序列化 json typeMismatch 时出错 这个想法是创建一个公式收集应用程序。每次应用程序启动时都应通过加载 JSON
我正在尝试从 URL 解析 JSON,我想我已经尝试了 100 种不同的方法,但到目前为止我还没有找到正确的解决方案。我相信我遇到的问题是我收到的 JSON 中的数据结构。每个都有一个以“0”开头并递
基本上,我希望能够阻止 Spring 检查我的字段是否包含错误数据,而是让我手动处理所有验证和异常。 假设我有一个类: public class MyClass { int aNumber;
我在 Spark GraphX 中使用 Pregel 编写了我的算法。但不幸的是我得到 TypeMismatch 错误。 我加载图表:val my_graph= GraphLoader.edgeLis
下面是我的代码: public class JSON extends Activity { TextView json; @Override public void onCre
我正在使用 Codable 协议(protocol)从 Web API 解码 JSON。我的此 API 的 Swift 数据模型包括类继承(子类)和组合(对象作为其他对象的属性)。在 JSON 中,相
我有一个 JavaScript validation framework我创建的,我正在尝试向它添加 HTML 验证。在我的框架中,验证是通过使用 data- 属性将验证约束绑定(bind)到元素来完
我是一名优秀的程序员,十分优秀!