<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    soufan

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      22 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks
    (轉)
    下面是一個email驗證器的示例: ?

    EmailValidator.java:

    import?javax.faces.application.FacesMessage;
    import?javax.faces.component.UIComponent;
    import?javax.faces.context.FacesContext;
    import?javax.faces.validator.Validator;
    import?javax.faces.validator.ValidatorException;
    ?
    public?class?EmailValidator?implements?Validator?{
    ?
    ????private?String?errorMessage?=?null;
    ?
    ????public?void?setErrorMessage(String?errorMessage)?{?this.errorMessage?=?errorMessage;?}
    ?
    ????public?void?validate(FacesContext?context,?UIComponent?component,?Object?value)?{
    ????????if?(null?==?value)?{
    ????????????return;
    ????????}
    ?
    ????????String?email?=?(String)?value;
    ?
    ????????if?(-1?==?email.indexOf('@',?1)?||?-1?==?email.indexOf('.'))?{
    ????????????if?(errorMessage?!=?null)?{
    ????????????????throw?new?ValidatorException(new?FacesMessage(Tags.eval(errorMessage)));
    ????????????}?else?{
    ????????????????//?use?default?validator?message
    ????????????????throw?new?ValidatorException(null);
    ????????????}
    ????????}
    ????}
    }

    Tags.java:

    import?javax.faces.application.Application;
    import?javax.faces.component.UIComponent;
    import?javax.faces.component.UIInput;
    import?javax.faces.context.FacesContext;
    import?javax.faces.el.MethodBinding;
    import?javax.faces.el.ValueBinding;
    import?javax.faces.event.ValueChangeEvent;
    import?javax.faces.webapp.ConverterTag;
    import?javax.faces.webapp.UIComponentTag;
    ?
    public?class?Tags?{
    ???//?Converter?Tags?and?Validator?Tags?helper?methods
    ????public?static?String?eval(String?expression)?{
    ????????if?(expression?!=?null?&&?UIComponentTag.isValueReference(expression))?{
    ????????????FacesContext?context?=?FacesContext.getCurrentInstance();
    ????????????Application?app?=?context.getApplication();
    ????????????ValueBinding?vb?=?app.createValueBinding(expression);
    ????????????return?""?+?vb.getValue(context);
    ????????}?else?{
    ????????????return?expression;
    ????????}
    ????}
    }

    ?

    ?

    ?

    EmailValidatorTag.java:

    import?javax.faces.component.UIComponent;
    import?javax.faces.validator.Validator;
    import?javax.faces.webapp.ValidatorTag;
    import?javax.servlet.jsp.JspException;
    ?
    public?class?EmailValidatorTag?extends?ValidatorTag?{
    ?
    ????private?String?errorMessage?=?null;
    ?
    ????public?EmailValidatorTag()?{
    ????????setValidatorId("Email");
    ????}
    ?
    ????public?void?setErrorMessage(String?errorMessage)?{?this.errorMessage?=?errorMessage;?}
    ?
    ????public?Validator?createValidator()?throws?JspException?{
    ????????EmailValidator?validator?=?(EmailValidator)?super.createValidator();
    ????????validator.setErrorMessage(errorMessage);
    ?
    ????????return?validator;
    ????}
    ?
    ????public?void?release()?{
    ????????errorMessage?=?null;
    ????}
    }

    ?

    ?

    faces-config.xml:

    <validator>
        <validator-id>Email</validator-id>
        <validator-class>EmailValidator</validator-class>
    </validator>
    

    mytags.tld:

    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE taglib PUBLIC
        "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
     
    <taglib>
     
    <tlibversion>1.0</tlibversion>
    <jspversion>1.2</jspversion>
    <shortname>mytags</shortname>
    <uri>mytags</uri>
     
    <tag>
        <name>validateEmail</name>
        <tagclass>EmailValidatorTag</tagclass>
     
        <attribute>
            <name>errorMessage</name>
            <description>message if a validation error occurs</description>
        </attribute>
    </tag>
     
    </taglib>
    

    ?

    mypage.jsp:

    <h:inputText id="email" required="true">
        <mytags:validateEmail errorMessage="#{bean.message}"/>
    </h:inputText>
    
    posted on 2006-12-19 16:02 soufan 閱讀(235) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久亚洲欧洲日产国码aⅴ| 久久久久亚洲av成人无码电影| 亚洲色欲www综合网| 久久精品乱子伦免费| 久久亚洲精品视频| 无码人妻丰满熟妇区免费| 亚洲av无码一区二区三区不卡| 久久免费动漫品精老司机| 日产亚洲一区二区三区| 91香焦国产线观看看免费| 亚洲无限乱码一二三四区| 精品久久久久成人码免费动漫| 亚洲成年网站在线观看| 永久在线毛片免费观看| 狼色精品人妻在线视频免费| 久久精品国产精品亚洲| 免费毛片a线观看| 91亚洲性爱在线视频| 日本一线a视频免费观看| ww在线观视频免费观看w| 久久亚洲免费视频| 2021久久精品免费观看| 国产午夜亚洲精品| 国产一级理论免费版| 你懂的网址免费国产| 亚洲伊人久久大香线蕉| 日韩免费在线观看| 美女无遮挡拍拍拍免费视频 | 毛片免费vip会员在线看| 男人免费视频一区二区在线观看| 亚洲熟妇av一区二区三区| 最好看的中文字幕2019免费| 亚洲国产精品精华液| 久久亚洲综合色一区二区三区| 青青视频观看免费99| 添bbb免费观看高清视频| 久久久久亚洲AV无码网站| 国产精品va无码免费麻豆 | 18禁成人网站免费观看| 亚洲AV日韩综合一区| 国产亚洲A∨片在线观看|