`

JSF中的数据验证(1,前台验证 2,使用已有验证器 3,通过backing bean 4,自定义验证器)

    博客分类:
  • Jsf
阅读更多
1,


2,


3,通过backing bean进行验证

首先要在后台backing bean写相应的验证方法。

如下例子是为了验证输入数据是否是由数字和字母组成。
 
java 代码
 
  1. public void validateWord(FacesContext context, UIComponent toValidate, Object value) {  
  2.      String word = (String) value;//得到输入的直  
  3.      String reg = "^[A-Za-z0-9]+$";//根据验证要求写出相应正则表达式(各种验证表达式见本文最后)  
  4.      PatternCompiler compiler = new Perl5Compiler();  
  5.      Pattern pattern;  
  6.      try {  
  7.          pattern = compiler.compile(reg);  
  8.   
  9.      PatternMatcher matcher = new Perl5Matcher();  
  10.      if(!matcher.contains(word, pattern)) {//判断是否匹配,如果不匹配输出相应错误信息  
  11.          ((UIInput)toValidate).setValid(false);  
  12.          FacesMessage message = new FacesMessage("Value accepts alphanumeric
  13.                                  without space and symbols!");  
  14.     //FacesMessage message = new FacesMessage("error message");     
  15.     //context.addMessage(context.getViewRoot().findComponent("pForm:sizeLength")
  16.       .getClientId(context),message);  
  17.     //以上注释部分的意思是说将错误信息存储到页面id="pForm:sizeLength"的控件里而非当前控件  
  18.          context.addMessage(toValidate.getClientId(context), message);  
  19.      }  
  20.      } catch (MalformedPatternException e) {  
  21.          // TODO Auto-generated catch block  
  22.          e.printStackTrace();  
  23.      }  
  24.  }  


其次便是在页面调用该验证方法,例子如下:

JSF 代码
 
  1. <h:inputText value="#{containerListBean.container.assetCode}"   
  2. validate="#{containerListBean.validateWord}" styleClass="inputTextBox">  
  3. <h:message for="AssetCode" styleClass="errorMessage"></h:message>  


OK了,其他的就不用说了。



4,自定义验证器





参开资料:正则表达式
分享到:
评论

相关推荐

    JSF自定义转换器验证器实例

    在JSF中,转换器和验证器扮演着至关重要的角色,它们允许我们对用户输入进行处理和验证,确保数据的质量和一致性。本实例将带你深入理解如何在JSF中创建自定义的转换器和验证器。 首先,我们来了解**转换器...

    jsf验证器与自定义验证

    博客文章可能还涉及了如何在JSF页面(`.xhtml`)中使用自定义验证器,以及如何在`faces-config.xml`中全局注册。通常,自定义验证器的使用方式如下: ```xml &lt;h:inputText value="#{bean.property}"&gt; ``` 或者在...

    JSF精美登陆跳转,自定义数据验证

    - **内置验证**:JSF 提供了内置的数据验证机制,例如在`&lt;h:input&gt;`标签中使用`required`属性进行非空验证,或者使用`validator`属性调用自定义验证器。 - **自定义验证器**:当内置验证不够用时,开发者可以创建...

    JSF1.2自定义验证器的实现

    在JSF 1.2版本中,为了确保数据输入的正确性和一致性,开发者可以自定义验证器来实现特定的数据验证逻辑。本文将深入探讨如何在JSF 1.2中创建和使用自定义验证器。 自定义验证器是JSF中的一个重要特性,它允许...

    第7章 JSF转换器和验证器与实例程序

    在JSF中,可以自定义转换器,通过实现`javax.faces.convert.Converter`接口,或者使用`@FacesConverter`注解来标记一个类为转换器。 描述中提到的"convertTest"可能是一个示例项目或测试用例,用于演示如何创建和...

    jsf用户输入验证

    在这个XML示例中,通过 `&lt;f:validator&gt;` 标签绑定了自定义的 `EmailValidator` 验证器。 #### 六、总结 通过上述内容可以看出,JSF提供了多种方式进行用户输入验证,包括手动验证、隐式自动验证、显式自动验证以及...

    jsf自定义组件.pdf

    - **导入库**:在JSF页面中使用`&lt;html&gt;`标签导入包含自定义组件的库。 - **定义组件**:使用自定义组件的标签语法在页面中定义具体的组件实例。 - **配置组件**:通过设置标签属性来配置组件的行为。 - **绑定...

    JSF(转换器+验证器)

    在JSF的应用中,结合使用转换器和验证器可以确保用户输入的数据既正确又有效。转换器确保数据类型的正确性,而验证器则确保数据的业务合法性。这两个机制是JSF处理用户输入数据的关键步骤,对于开发健壮的、用户友好...

    《JSF自定义组件》

    一旦自定义组件创建完成,就可以在JSF页面中使用它。通常通过在页面中插入相应的标签来实现这一点。例如: ```xml &lt;my:customInput value="#{bean.value}" /&gt; ``` 其中`&lt;my:customInput&gt;`就是自定义组件的标签...

    JSF 转换与验证 - 利用 JSF 的转换和验证框架来确保数据模型的完整性.rar

    在JSF中,转换和验证是两个关键概念,它们有助于保证从客户端(通常是网页表单)接收到的数据在被存储或处理前符合预期的格式和规则。 **一、JSF 转换** 在JSF中,转换是用来将用户输入的数据转换为应用程序可以...

    JSP 自定义验证器

    无论是通过创建独立的验证器类,还是在Bean中实现验证逻辑,都旨在确保应用程序的数据质量和用户输入的安全性。掌握自定义验证器的实现和使用,对于任何从事JSP/JSF开发的工程师而言,都是必备的技能之一。

    JSF2.0实战 - 4、自定义组件

    这里,`component-type`是组件在JSF页面中使用的标识符,`component-class`则是对应的Java类。 3. **属性和事件**: 自定义组件可以定义自己的属性,这些属性在JSF EL表达式中可以访问。例如,添加一个名为`...

    JSF 转换与验证 .rar

    2. 自定义验证器:通过实现`javax.faces.validator.Validator`接口,开发者可以创建自己的验证器。验证器需要覆盖`validate()`方法,此方法会在提交请求时调用,以检查组件值的有效性。 3. 验证错误处理:当验证...

    jsf自定义组件的实现

    【JSF自定义组件实现详解】 在JavaServer Faces (JSF)框架中,自定义组件允许开发者根据项目需求创建具有特定功能的UI元素。本文将引导你逐步了解如何在JSF中实现一个自定义组件,从基础开始,一步步构建一个简单的...

    JSF数据表绑定数据

    - **创建(Create)**:用户可以通过添加新行或使用表单输入新数据,然后调用Bean中的方法将数据添加到集合中。 - **读取(Read)**:DataTable默认会遍历Bean中的集合并显示数据。通过设置列的`value`属性,可以...

    jsf 登录验证程序

    在JSF中,这些表单字段可以映射到后台Bean的属性,以便于数据绑定和验证。 3. **JSF组件**:JSF提供了一系列内置的UI组件,如`h:inputText`用于文本输入,`h:commandButton`用于提交表单。在JSFLoginExample中,...

    编写JSF用户自定义UI组件(之五)

    在JSF(JavaServer ...但从标题和标签中,我们可以推测这篇博客主要涵盖了JSF自定义组件的创建、配置、使用和测试等方面的知识,对于想要深入理解JSF框架和提升组件开发能力的开发者来说,是非常有价值的学习资源。

    jsf中文使用教程jsf中文使用教程

    2. **Managed Bean**:Managed Bean是JSF中的核心组件,用来存储和处理数据。 3. **Navigation Handler**:负责处理页面间的跳转。 4. **Converter和Validator**:Converter转换数据类型,Validator验证用户输入。 ...

    shale实现jsf客户端验证例子

    3. **创建验证行为**:在JSF页面中,使用Shale提供的标签来应用验证行为。例如,对于邮箱输入字段,你可以使用`&lt;sh:validateEmail&gt;`标签。 4. **生成客户端脚本**:Shale会自动将这些验证行为转换为JavaScript代码...

Global site tag (gtag.js) - Google Analytics