JSF验证f:validateBean标记

用于将Bean验证器注册到组件。为了验证bean模型, 必须在Web部署描述符文件web.xml中设置context参数。
Bean验证约束 JSF以注释的形式为bean模型提供了验证约束。你可以将这些注释放在JavaBeans组件(例如托管Bean)的字段, 方法或类上。
JSF还提供了创建自定义或用户定义的约束的工具。内置约束在javax.validation.constraints包中可用, 并在下表中列出。
内置Bean验证约束

约束 描述
@NotNull 它用于将非null约束设置为字段或属性的值。 @NotNull字符串用户名;
@Null 它用于将null约束设置为字段或属性的值。 @Null字符串usedString;
@Size 它用于指定字段或属性的大小。将评估字段或属性的大小, 并且必须匹配指定的边界。使用可选的max或min元素之一来指定边界。 @Size(min = 2, max = 240)字符串briefMessage;
@Digits 它用于设置约束, 即字段或属性的值必须是指定范围内的数字。整数元素指定该数字的最大整数位数, 而小数元素指定该数字的最大分数位数。 @Digits(整数= 6, 分数= 2)BigDecimal价格;
@DecimalMin 此约束指定该字段或属性的值必须是一个大于或等于value元素中数字的十进制值。 @DecimalMin(“ 5.00”)BigDecimal折扣;
@DecimalMax 它用于指定字段或属性的值必须是小于或等于value元素中数字的十进制值。 @DecimalMax(“ 30.00”)BigDecimal折扣;
@Max 它用于设置字段或属性的值, 该值必须是小于或等于value元素中数字的整数值。 @Max(10)整数数量;
@Min 它用于设置字段或属性的值, 该值必须是大于或等于value元素中数字的整数值。 @Min(5)int数量;
@Pattern 它用于设置必须与regexp元素中定义的正则表达式匹配的模式。 @Pattern(regexp =“ \\(\\ d {3} \\)\\ d {3}-\\ d {4}”)字符串phoneNumber;
@Past 它用于设置字段或属性的值, 该值必须是过去的日期。 @Past Date生日;
@Future 它用于设置字段或属性的值, 该值必须是将来的日期。 @未来日期eventDate;
@AssertTrue 它用于设置必须为true的字段或属性的值。 @AssertTrue布尔isActive;
@AssertFalse 它用于设置必须为false的字段或属性的值。 @AssertFalse布尔值isUnsupported;
// web.xml
< context-param> < param-name> javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL < /param-name> < param-value> true< /param-value> < /context-param>

此参数值使JavaServer Faces实现可以将空字符串视为null。
// User.java
import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.validation.constraints.NotNull; @ManagedBean @RequestScoped public class User{@NotNull(message = "Name can't be null") String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

// index.xhtml
< h:form id="form"> < h:outputLabel for="username"> User Name< /h:outputLabel> < h:inputText id="name-id" value="http://www.srcmini.com/#{user.name}"> < f:validateBean/> < /h:inputText> < br/> < h:commandButton value="http://www.srcmini.com/OK" action="response.xhtml"> < /h:commandButton> < /h:form>

输出:
【JSF验证f:validateBean标记】提交表单时, 此表单将验证notnull验证。
JSF验证f:validateBean标记

文章图片

    推荐阅读