SpringMVC可以使用JSR303规定的注记模式的Bean验证,验证错误时的提示消息放在messages[_区域名].properties文本文件里,格式为:
注记名.被验证字段名 = 验证错误提示消息
例如,以下代码使用了JSR303注记验证:
package study.springmvc.validation.usejsr303.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size;
public class ProductWithDate implements Serializable
{
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
public BigDecimal getPrice()
{
return price;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public Date getProduceDate()
{
return produceDate;
}
public void setProduceDate(Date produceDate)
{
this.produceDate = produceDate;
}
@Size(min = 1, max = 10, message = "{productName.required}")
private String name;
private String description;
@DecimalMin(value = "0.0", message = "{price.negative}")
private BigDecimal price;
@Past(message = "{produceDate.invalid}")
private Date produceDate;
private static final long serialVersionUID = -6626601684496648416L;
}
那么,在messages.properties中,对应的验证出错信息为:
Size.name = 请输入产品名称
DecimalMin.price = 产品价格不能为负数
Past.produceDate = 产品出厂时间不能晚于今天
显示效果如下所示: