JSF 验证 <f:validateBean> 标签

2024 年 8 月 29 日 | 阅读 3 分钟

它用于向组件注册一个 bean 验证器。为了验证 bean 模型,您必须在 web 部署描述符文件 web.xml 中设置 context 参数。


Bean 验证约束

JSF 以注释的形式为 bean 模型提供验证约束。 您可以将这些注释放在 JavaBeans 组件(例如托管 bean)的字段、方法或类上。

JSF 还提供了创建自定义或用户定义约束的工具。 内置约束在 javax.validation.constraints 包中提供,并在下表中列出。

内置 Bean 验证约束

限制条件描述示例
@NotNull它用于设置字段或属性值的非空约束。@NotNull String 用户名;
@Null它用于将 null 约束设置为字段或属性的值。@Null String unusedString;
@Size它用于指定字段或属性的大小。 字段或属性的大小将进行评估,并且必须与指定的边界匹配。 使用可选的 max 或 min 元素之一指定边界。@Size(min=2, max=240) String briefMessage;
@Digits它用于设置约束,即字段或属性的值必须是指定范围内的数字。 integer 元素指定数字的最大整数位数,而 fraction 元素指定数字的最大小数位数。@Digits(integer=6, fraction=2) BigDecimal 价格;
@DecimalMin此约束指定字段或属性的值必须是大于或等于 value 元素中数字的十进制值。@DecimalMin("5.00") BigDecimal 折扣;
@DecimalMax它用于指定字段或属性的值必须是小于或等于 value 元素中数字的十进制值。@DecimalMax("30.00") BigDecimal 折扣;
@Max它用于设置字段或属性的值,该值必须是小于或等于 value 元素中数字的整数值。@Max(10) int 数量;
@Min它用于设置字段或属性的值,该值必须是大于或等于 value 元素中数字的整数值。@Min(5) int 数量;
@Pattern它用于设置模式,该模式必须与 regexp 元素中定义的正则表达式匹配。@Pattern(regexp="\\(\\d{3}\\)\\d{3}-\\d{4}") String 电话号码;
@Past它用于设置字段或属性的值,该值必须是过去的一个日期。@Past Date 生日;
@Future它用于设置字段或属性的值,该值必须是未来的日期。@Future Date 活动日期;
@AssertTrue它用于设置字段或属性的值,该值必须为 true。@AssertTrue boolean isActive;
@AssertFalse它用于设置字段或属性的值,该值必须为 false。@AssertFalse boolean isUnsupported;

// web.xml

此参数值使 JavaServer Faces 实现将空字符串视为 null。

// User.java

// index.xhtml


输出

提交表单时,此表单会针对 notnull 验证进行验证。

JSF Validation f validatebean tag 1