gpt4 book ai didi

Spring 验证 - BindingResult

转载 作者:行者123 更新时间:2023-12-03 11:30:37 25 4
gpt4 key购买 nike

我试图了解 BeanPropertyBindingResult在下面的代码中。不幸的是,javadoc是很没用的。

请看下面的代码:

BeanPropertyBindingResult errors = new BeanPropertyBindingResult(item, "item");
validator.validate(item, errors);

我的问题是:
  • 据我所知,BeanPropertyBindingResult基本上是某种 Map可以包含(字段名称,错误文本)的键/值对。这是正确的,还是真相更复杂?
  • 当我创建一个新的 BeanPropertyBindingResult ,为什么我需要为它(作为构造函数的第一个参数)提供我要验证的对象?据我所知,在上面的第二行中,validator.validate(item, errors);验证器无论如何都会得到对象..那么为什么要这样做两次?
  • javadoc 提到了构造函数的第二个参数:

  • objectName - the name of the target object



    是的,但为什么我需要这个名字?我应该/能够用它做什么......?

    最佳答案

    1)是的,这也是我的理解,即使它在技术上是一个列表。 -- 最重要的部分是List<ObjectError> errors在父类(super class) AbstractBindingResult 中定义.

    2) 因为 BindingResult 要求它界面。 -- 我知道这不是一个好的答案,但是如果这个接口(interface)需要那个方法,那么就没有其他方法来实现它顺便说一句:我想我之前看到过 Autor 使用的一些例子 null对于该字段,但我不是 100% 如果它工作正确,但大多数代码接缝都能够处理空值。

    3) 如果您在 jsp 中使用该绑定(bind)结果来显示不同输入字段的错误消息,那么这必须与模型属性名称匹配。

    假设您有一个带有字段 name 的命令对象.和一个 JSP 页面,其中输入字段关联到 myCommand.name .然后你需要名字 myCommand作为绑定(bind)错误的某种前缀。 -- 很难解释,希望你明白我的意思

    关于 Spring 验证 - BindingResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005628/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com