Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring电子邮件表单验证_Spring_Spring Mvc - Fatal编程技术网

Spring电子邮件表单验证

Spring电子邮件表单验证,spring,spring-mvc,Spring,Spring Mvc,我将在spring3.1中设置表单验证。我使用注释来验证我的模型,如下所示: 型号: @Column(name = "mailAddress", nullable = false) @Email private String mailAddress; @Column(name = "school", nullable = false) @NotBlank @Size(min = 3, max = 100) private String school; 控制器: @RequestMap

我将在
spring3.1
中设置表单验证。我使用注释来验证我的模型,如下所示:

型号:

@Column(name = "mailAddress", nullable = false)
@Email
private String mailAddress;

@Column(name = "school", nullable = false)
@NotBlank
@Size(min = 3, max = 100)
private String school;
控制器:

    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String addBooking(
            @ModelAttribute("new-booking") @Valid Booking booking,
            BindingResult result, Map<String, Object> model) {

        if (result.hasErrors()) {
            return "booking";
        }
            return "success";
     }
@RequestMapping(value=“/add”,method=RequestMethod.POST)
公共字符串地址预订(
@ModelAttribute(“新预订”)@有效预订,
BindingResult(结果,映射模型){
if(result.hasErrors()){
返回“预订”;
}
返回“成功”;
}

问题是,它验证的是
学校
,而不是
邮件地址
。如果您输入一个空的
邮件地址
,它将接受它。

我认为您的验证问题可能与使用@Email validation注释时您的验证程序被认为是有效的,并且电子邮件的格式如下:myname@service“这不会以扩展名(例如.com)结束

如果这是您的问题…这是正常的,因为它还考虑了您的电子邮件具有以下格式的情况:yourname@localhost(内部电子邮件地址)

如果要验证经典电子邮件(格式:myname@someservice.com)我认为您必须编写自定义验证器


我希望我已经理解了您的问题

我认为您的验证问题可能与使用@Email validation注释时您的验证程序被认为是有效的,并且电子邮件的格式如下:myname@service“这不会以扩展名(例如.com)结束

如果这是您的问题…这是正常的,因为它还考虑了您的电子邮件具有以下格式的情况:yourname@localhost(内部电子邮件地址)

如果要验证经典电子邮件(格式:myname@someservice.com)我认为您必须编写自定义验证器


我希望我已经理解了你的问题

我发现了问题所在。电子邮件验证程序将接受空白电子邮件。要解决此问题,只需向其添加一个
@NotBlank
。事实上,我认为nullable=false应该足够了,但事实并非如此

@Column(name = "mailAddress", nullable = false)
@Email
@NotBlank
private String mailAddress;

我发现了问题。电子邮件验证程序将接受空白电子邮件。要解决此问题,只需向其添加一个
@NotBlank
。事实上,我认为nullable=false应该足够了,但事实并非如此

@Column(name = "mailAddress", nullable = false)
@Email
@NotBlank
private String mailAddress;

@瓦鲁纳查尔你完全正确。我好像忘了。已编辑。mailAddress的输入是什么?是每一个案例都在验证还是每一个案例都失败了?@VarunAchar你完全正确。我好像忘了。已编辑。mailAddress的输入是什么?是针对每个案例验证还是针对每个案例失败?谢谢,但它根本不会验证电子邮件。我可以将其留空,管理员不接受任何内容。谢谢,但它根本不会验证电子邮件。我可以将其留空,控制器不接受任何内容。