用于将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; |
<
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:validateDoubleRange标记
- JSF UI组件示例
- JSF用户界面组件模型
- JSF教程介绍
- JSF标准转换器
- JSF可重定位资源
- JSF引用托管Bean方法
- JSF h:outputText标记
- JSF h:messages标记