我有一个表单,它的字段使用验证器.这些验证器可以发回Severity.SEVERITY_ERROR或Severity.SEVERITY_WARN消息,如图所示:
if (!isInMainFamily) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "You should make sure to tag your competency in at least one main category", null);
throw new ValidatorException(message);
}
Run Code Online (Sandbox Code Playgroud)
但是,SEVERITY_WARN消息对我没有阻止.它们只是告诉用户他们应该更正输入的一种方式,但不会阻止他们提交表单并保存他们的数据.
但是,似乎抛出任何类型的ValidatorException将FacesContext标记为"validationFailed",然后阻止提交表单.
有办法解决这个问题吗?还是我误解了什么?
非常感谢你的帮助,
塞巴斯蒂安
您想将消息添加到上下文而不是将其抛出ValidatorException.这是标记输入无效的异常,因此阻止表单提交.
context.addMessage(component.getClientId(), message);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |