gpt4 book ai didi

java - validator 未触发

转载 作者:行者123 更新时间:2023-12-01 15:56:36 25 4
gpt4 key购买 nike

我有这个组件:

<ice:form style="width: 45%;" partialSubmit="true" >
<ice:inputText id="cc" required="true" partialSubmit="true" immediate="true"
value="#{userAction.username}">
<f:validator validatorId="passwordValidator" />
<ice:message style="color: red;" id="ageError" for="cc" />
</ice:inputText>
</ice:form>

我已经在 faces 配置中声明了 validator :

<validator>
<validator-id>passwordValidator</validator-id>
<validator-class>com.mydomain.seam_icefaces_test.action.PasswordValidator</validator-class>
</validator>

以及 validator java 类:

   package com.mydomain.seam_icefaces_test.action;

import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import org.jboss.seam.faces.FacesMessages;

public class PasswordValidator implements Validator {

@Override
public void validate(FacesContext arg0, UIComponent arg1, Object value)
throws ValidatorException {
String val = (String) value;

if (val.length() == 0)
((UIInput) arg1).setValid(false);
FacesMessages.instance().addToControlFromResourceBundle(arg1.getId(),
"invalid.password");

}
}

我不明白为什么它在失去焦点时不会触发......

你有什么想法吗?

谢谢。

最佳答案

JSF validator 在验证过程中被调用。当控制失去焦点时,它们不会被调用。请参阅lifecycle .

关于java - validator 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com