gpt4 book ai didi

css - 在验证错误时更改 css 芯片

转载 作者:行者123 更新时间:2023-11-28 02:16:41 25 4
gpt4 key购买 nike

我正在使用 primefaces 并使用元素“chips”引入多封电子邮件,我验证了它们的格式,如果验证是,我试图将“气泡”的样式更改为 ui-state-error错了

我的筹码:

<div class="ui-grid-col-1" style="margin-right: 5px;">
<p:chips id="chips" required="true" value="#{Contactos.lista_email}"
placeholder="Email" style="color: red;"
requiredMessage="ERROR: El campo 'Email' es obligatorio"
validator="ValidMail"/>
</div>

我的验证器:

@FacesValidator(value = "ValidMail")
public class validatorMail implements Validator{

private Pattern pattern;
private Matcher matcher;

private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

@Override
public void validate(FacesContext context, UIComponent component,
Object value) throws ValidatorException {

ArrayList<String> aux = (ArrayList<String>) value;
String error = null;

final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

//Check if user has typed only blank spaces
if(value.toString().trim().isEmpty()){
FacesMessage msg = new FacesMessage("ERROR: Email requiere un formato válido", "Email: requiere un formato válido");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(msg);
}
else {
pattern = Pattern.compile(EMAIL_PATTERN);
for (String temp : aux){
boolean valid = this.validate(temp);
if (valid == false){
if (error == null) error = temp;
else error = error + "\n" + temp;
}
}

if (error != null){
chips.setValid(false);
FacesMessage msg = new FacesMessage("ERROR DE FORMATO: "+"\n" + error, " ");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
chips.setValid(false);
throw new ValidatorException(msg);
}
}

}

谢谢大家

最佳答案

目前无法将单独的芯片元素设置为无效。 primefaces 组件 org.primefaces.component.chips.Chips 在 6.1 版中没有提供这种方法。您当然可以在 github 上打开功能请求.

目前唯一的方法是将整个组件设置为无效并在 FacesMessage 中提供适当的文本

((UIInput) 组件).setValid(false);

关于css - 在验证错误时更改 css 芯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48438558/

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