单个输入字段的定制JSF验证器消息

戈尔施

我想为不同输入字段的每个验证器提供不同的验证消息。

在JSF中是否可以<f:validateLongRange>为每个输入字段的单个验证器(例如使用不同的验证消息

BalusC

有几种方法:

  1. 最简单的,只需设置validatorMessage属性。

    <h:inputText ... validatorMessage="Please enter a number between 0 and 42">
        <f:validateLongRange minimum="0" maximum="42" />
    </h:inputText>
    

    但是,当您使用其他验证器时,也会使用此方法。它将覆盖附加到输入字段的其他验证器的所有消息,包括Bean验证。不知道那是否会构成问题。如果是这样,请遵循以下方法。

  2. 创建一个自定义验证器,以扩展标准验证器,例如,LongRangeValidator在您的情况下,捕获ValidatorException并使用所需的自定义消息其重新抛出。例如

    <h:inputText ...>
        <f:validator validatorId="myLongRangeValidator" />
        <f:attribute name="longRangeValidatorMessage" value="Please enter a number between 0 and 42" />
    </h:inputText>
    

    public class MyLongRangeValidator extends LongRangeValidator {
    
        public void validate(FacesContext context, UIComponent component, Object convertedValue) throws ValidatorException {
            setMinimum(0); // If necessary, obtain as custom attribute as well.
            setMaximum(42); // If necessary, obtain as custom attribute as well.
    
            try {
                super.validate(context, component, convertedValue);
            } catch (ValidatorException e) {
                String message = (String) component.getAttributes().get("longRangeValidatorMessage");
                throw new ValidatorException(new FacesMessage(message));
            }
        }
    
    }
    
  3. 使用OmniFaces <o:validator>,它允许在每个验证者的基础上设置不同的验证者消息:

    <h:inputText ...>
        <o:validator validatorId="javax.faces.Required" message="Please fill out this field" />
        <o:validator validatorId="javax.faces.LongRange" minimum="0" maximum="42" message="Please enter a number between 0 and 42" />
    </h:inputText>
    

也可以看看:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JSF中的输入文本字段验证

来自分类Dev

在输入字段定制器 wordpress 中获取 href

来自分类Dev

在提交表单或字段变脏时显示验证消息-提交时显示定制消息和默认验证消息

来自分类Dev

定制验证消息:Laravel 5.2.15

来自分类Dev

为多个字段添加单个验证消息

来自分类Dev

laravel的验证器不返回输入字段

来自分类Dev

在jsp的对应字段中显示服务器端验证消息时,如何在输入字段中保留输入的值

来自分类Dev

API请求输入字段的wso2 API Manager定制验证

来自分类Dev

jQuery验证错误消息的错误类与输入字段的关系

来自分类Dev

角度2:使用内置的验证器验证输入字段

来自分类Dev

JSF定制转换器寿命周期

来自分类Dev

JSF定制转换器寿命周期

来自分类Dev

反应形式-跨字段验证(基于组字段值的单个消息)

来自分类Dev

文本表单字段验证器错误消息未显示

来自分类Dev

对Postgres Json字段进行Rails定制验证

来自分类Dev

基于WooCommerce产品定制输入字段折扣

来自分类Dev

如何始终在ZF2验证器中显示单个验证消息?

来自分类Dev

编译器错误消息定制

来自分类Dev

如何在JSF表单上验证模式的字符串输入字段

来自分类Dev

findAll验证输入字段

来自分类Dev

输入字段的验证

来自分类Dev

带有定制组件属性的验证器

来自分类Dev

在单个产品页面上定制产品变化消息

来自分类Dev

AngularJS:单个单词输入验证

来自分类Dev

表单验证器消息

来自分类Dev

表单验证器消息

来自分类Dev

在jqGrid中显示特定于字段的验证错误消息(服务器端验证)

来自分类Dev

在jqGrid中显示特定于字段的验证错误消息(服务器端验证)

来自分类Dev

JSF中的异步验证器

Related 相关文章

热门标签

归档