JSF---->标准验证器

当应用程序要求使用者输入数据时,必然考虑到使用者输入数据之正确性,对于使用者的输入必须进行检验,检验必要的两种验证是语法检验(Synatic Validation)与语意检验(Semantic Validation)。

语法检验是要检查使用者输入的数据是否合乎我们所要求的格式,最基本的就是检查使用者是否填入了字段值,或是字段值的长度、大小值等等是否符合要求。语意检验是在语法检验之后,在格式符合需求之后,我们进一步验证使用者输入的数据语意上是否正确,例如检查使用者的名称与密码是否匹配。对使用者名称与密码检查是否匹配,这是语意检验,我们可以使用JSF所提供的标准验证器,为其加入语法检验,例如:

index.jsp

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@page contentType="text/html;charset=Big5"%>
<html>
<head>
<title>验证器示范</title>
</head>
<body>
    <f:view>
        <h:messages layout="table" style="color:red"/>
        <h:form>
            <h3>请输入您的名称</h3>
            <h:outputText value="#{user.errMessage}"/><p>
           名称: <h:inputText value="#{user.name}"
                              required="true"/><p>
           密码: <h:inputSecret value="#{user.password}"
                              required="true">
             <f:validateLength minimum="6"/>
         </h:inputSecret><p>
            <h:commandButton value="送出"
                             action="#{user.verify}"/>
        </h:form>
    </f:view>
</body>
</html>

在<h:inputText>、</h:inputSecret>中,我们设定了required属性为true,这表示这个字段一定要输入值,我们也在</h:inputSecret>设定了<f: validateLength>,并设定其minimum属性为6,这表示这个字段最少需要6个字符。

这一次在错误讯息的显示上,我们使用<h:messages>标签,当有验证错误发生时,相关的错误讯息会收集起来,使用<h:messages>卷标可以一次将所有的错误讯息显示出来。

JSF提供了三种标准验证器:<f:validateDoubleRange>、<f:validateLongRange>、<f:validateLength>,您可以分别查询它们的Tag Library Documentation,了解他们有哪些属性可以使用.

posted on   小强斋太  阅读(391)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2012年5月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9
点击右上角即可分享
微信分享提示