动态获取Custom JSF Validator中的ManagedBeans

时间:2012-02-01 08:42:22

标签: jsf validation

我想通过使用可以与多个组件一起使用的自定义验证器动态验证值。自定义验证程序根据其用法从不同的ManagedBeans获取这些值。

如何确定从哪个ManagedBean中检索值?所以我可以得到它,验证它,然后把它放回ManagedBean。

我的自定义验证器:

@FacesValidator(value = "valid")
public class DateValidator implements Validator {

    @Override
    public void validate(FacesContext context, UIComponent component, 
             Object value) throws ValidatorException {
       // Bean bean = ?
    }
}

1 个答案:

答案 0 :(得分:0)

我不认为这是好方法,因为在验证阶段模型仍然没有更新,你得到的只是视图中的输入值。我想知道为什么你需要bean实例。如果您的验证取决于视图中的其他组件,则可以参考link @ SOValidator for multiple fields

正如您所说,您需要对其进行验证并放回,这就是为什么验证阶段的全部内容,在验证器中验证它,如果失败则不会传递给托管bean。

查看JSF生命周期JSF Lifecycle

的此链接

希望这有帮助!!!