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的输入是什么?是针对每个案例验证还是针对每个案例失败?谢谢,但它根本不会验证电子邮件。我可以将其留空,管理员不接受任何内容。谢谢,但它根本不会验证电子邮件。我可以将其留空,控制器不接受任何内容。