📄 phonevalidator.java
字号:
/*
* Created on May 22, 2004
*
*/
package com.arcmind.jsfquickstart.validation;
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;
import com.arcmind.jsfquickstart.model.PhoneNumber;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Richard Hightower
*
*/
public class PhoneValidator implements Validator{
public void validate(FacesContext context, UIComponent component, Object pvalue)
throws ValidatorException {
System.out.println("Phone validator 1");
String value = ((PhoneNumber)pvalue).getOriginal();
String countryCode = "^[0-9]{1,2}";
String areaCode = "( |-|\\(){1}[0-9]{3}( |-|\\)){1}";
String prefix = "( |-)?[0-9]{3}";
String number = "( |-)[0-9]{4}$";
Pattern mask = Pattern.compile(countryCode+areaCode+prefix+number);
Matcher matcher = mask.matcher(value);
System.out.println("Phone validator 2");
if (!matcher.find()){
FacesMessage message = new FacesMessage();
message.setDetail("Phone number not valid");
message.setSummary("Phone number not valid");
message.setSeverity(FacesMessage.SEVERITY_ERROR);
throw new ValidatorException(message);
}
System.out.println("Phone validator 3");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -