当前位置: 首页 > 知识库问答 >
问题:

多个表中的值Spring验证问题

昝枫
2023-03-14

我无法使用我拥有的多个数据库表:

Input:User(表格用户)Input field:Email(表格用户)Input:Bookingnumber(表格Bookingnumber)

仅使用“用户”表单的输入字段有效,从其他表添加预订号会引发此错误:

Invalid target for Validator     [shuttleservice.form.validator.UserFormValidator@1588512]:   shuttleservice.form.model.Bookingnumber@18d7616

问题类似于如何使用Spring和hiberNate将值插入多个表

spring错误中验证器的无效目标?

我只有两种形式,一种输出,只显示db数据,一种输入带有多个db表的字段

我应该使用多个验证器吗?

// show add user form
@RequestMapping(value = "/users/add", method = RequestMethod.GET)
public String showAddUserForm(Model model) {

    logger.debug("showAddUserForm()");

    User user = new User();
    Bookingnumber bookingnumber = new Bookingnumber();

    // set default value
    user.setName("setNewUserName");     
    user.setEmail("test123@gmail.com");

    bookingnumber.setBookingnumber("123.456");

    model.addAttribute("userForm", user);
    //model.addAttribute("bookingnumberForm", bookingnumber);
    model.addAttribute("userForm", bookingnumber);


    populateDefaultModel(model);
System.out.println("#8");
    return "users/userform";

}

共有1个答案

訾淇
2023-03-14

创建一个模型类来包装所有表单字段,并将此新包装类的对象传递给表单。然后编写单个验证器类来验证字段。

private class FormModel {
    private User user;
    private BookingNumber bookingNumber;

    //Getter Setter ....
}

// show add user form
@RequestMapping(value = "/users/add", method = RequestMethod.GET)
public String showAddUserForm(Model model) {

    logger.debug("showAddUserForm()");
    FormModel formModel = new FormModel ();
    User user = new User();
    Bookingnumber bookingnumber = new Bookingnumber();

    // set default value
    user.setName("setNewUserName");     
    user.setEmail("test123@gmail.com");

    bookingnumber.setBookingnumber("123.456");
    formModel.setUser(user);
    formModel.setBookingNumber(bookingNumber);
    model.addAttribute("formModel", formModel);
    return "users/userform";
}
 类似资料:
  • 我需要一个用户管理服务为我的Spring启动项目。我一般了解DTO(数据传输对象)在Spring的使用。但是当我考虑设计服务时,我只对一个“用户”模型使用多个DTO,如UserDTO、注册用户DTO、更新用户DTO、管理用户DTO...UserDTO就像一个只读数据(带有用户名、电子邮件、姓名的输出数据),用于显示用户信息。但是注册用户DTO就像一个输入数据(带密码,确认密码为新用户创建密码),用

  • 本文向大家介绍iview同时验证多个表单问题总结,包括了iview同时验证多个表单问题总结的使用技巧和注意事项,需要的朋友参考一下 iview验证一个表单问题: 在上一篇文章中总结了iview表单验证的问题。其实有两种写法:在点击验证时,这样写时,注意在前面的方法中将要验证的form表单加进去。 还有一种写法:保存按钮不传form表单,在验证时直接this.$refs.addpurchaseFor

  • 我们在根模式中定义了一些抽象元素,例如: ...然后扩展如下: 这些元素在我们的xml文件中使用: 然而,当我尝试使用Saxon命令行验证xml时,我得到以下错误消息: 这里有一个指向实际示例文件的链接,供参考:xml/root模式-ext模式 任何帮助将不胜感激:)

  • 当使用注释将属性注入bean时,Spring提供了定义自定义验证器来验证这些属性的能力。 使用固定的bean名称和类查找此验证器。 现在假设我有一个,它的验证器位于模块a中。另一个模块B依赖于模块a。模块B还定义了它自己的和它自己的验证器。 当应用程序加载时,后处理器只拾取其中一个bean。这将禁用验证的其他部分。 有解决办法吗?如何在应用程序中启用两个配置属性验证器?

  • 问题内容: 嗨,我正在使用Eclipse Rcp,我需要验证仅接受我使用代码的整数值的文本框 它可以验证,但是与此有关的问题是我无法使用Backspace键删除数字。还请告诉我验证小数的想法。提前致谢 问题答案: 使用侦听器时,您可以清空文本字段,而不是使其不可编辑。您可以执行以下操作,该代码段基于您的代码。 如果您使用,则更好。我不确定您是否在SWT中拥有它,即使您不尝试寻找类似的东西。

  • 使用: 它按照预期工作,所以Spring显然不喜欢验证事物列表(尝试使用数组,但也不起作用)。 有人知道缺了什么吗?