• JSF学习五Ajax


    验证username(不能有下划线)和password(不能小于六位)

    1.UserBean.java
    package ajax;
    
    import java.io.Serializable;
    
    import javax.faces.application.FacesMessage;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.validator.ValidatorException;
    
    @ManagedBean(name="ajax")
    @SessionScoped
    public class UserBean implements Serializable {
    
    	private String name="";
    	private String password;
    	
    	
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	
    	public void validateName(FacesContext fc,UIComponent c,Object value){
    		if(((String)value).contains("_")){
    			throw new ValidatorException(new  FacesMessage("Name cannot contain underscores!"));
    		}
    	}
    	public void validatePassword(FacesContext fc,UIComponent c,Object value){
    		if(((String)value).length()<6){
    			throw new ValidatorException(new  FacesMessage("Password at least six words!"));
    		}
    	}
    }
    


    2.hello.xhtml
    <?

    xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Insert title here</title> </h:head> <h:body> <h:form> <p> <h:outputText value="Name"/> <h:inputText id="name" value="#{ajax.name}" validator="#{ajax.validateName}"> <f:ajax event="blur" execute="@this" render="nameError"/> </h:inputText> <h:message for="name" id="nameError" style="color:red" /></p> <h:outputText value="Password"/> <h:inputSecret id="password" value="#{user.password}" validator="#{ajax.validatePassword}"> <f:ajax event="blur" render="passwordError"/> </h:inputSecret> <h:message for="password" id="passwordError" style="color:red" /> </h:form> </h:body> </html>



    3.执行结果例如以下


  • 相关阅读:
    CentOS7 配置登录前显示IP
    用indexOf方法实现 数组去重
    easyui datagrid checkbox 禁止点击方法
    EasyUI常用图标
    Markdown基本语法
    百度地图标记
    Activity中的单击事件-------使用匿名内部类实现简单的跳转效果
    java.lang.ClassFormatError: Extra bytes at the end of class file quartz/loader/MyCalcSalary
    java.net.MalformedURLException: no !/ in spec
    Oracle 常见函数
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5319598.html
Copyright © 2020-2023  润新知