Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2005 Revolution Systems Inc.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.revolsys.ui.html.fields;
 
 
 

Author(s):
paustin
Version:
1.0
 
 public class PhoneNumberField extends Field {
   public static final int FIELD_SIZE = 20;
 
   public static final int FIELD_MAX_LENGTH = 20;
 
   public static final int VALUE_MIN_LENGTH = 10;
 
   public static final int VALUE_MAX_LENGTH = 12;
 
   private String inputValue = "";
 
   public PhoneNumberField(final boolean required) {
     this("phone"required);
   }
 
   public PhoneNumberField(final String namefinal boolean required) {
     super(namerequired);
   }
 
   public String getInputValue() {
     return ;
   }
 
   public boolean hasValue() {
     return  != null && !.equals("");
   }
 
   public void initialize(final Form formfinal HttpServletRequest request) {
      = request.getParameter(getName());
     if ( == null) {
       setValue(getInitialValue(request));
     }
   }
 
   public void setValue(final Object value) {
     super.setValue(value);
     if (value != null) {
        = PhoneNumber.format(value.toString());
     } else {
        = null;
     }
   }
 
   public void serializeElement(final XmlWriter out) {
     out.startTag(.);
     out.attribute(.getName());
     out.attribute(."text");
     out.attribute(., Integer.toString());
     if ( != null) {
     }
     out.endTag(.);
   }
 
   public boolean isValid() {
     boolean valid = true;
     if (!super.isValid()) {
       valid = false;
     } else if (hasValue()) {
       String phoneValue = PhoneNumber.normalize();
       int length = phoneValue.length();
       if (length > ) {
         addValidationError("Cannot exceed " +  + " characters");
         valid = false;
       } else if (length < ) {
         addValidationError("Must be at least " + 
           + " characters");
         valid = false;
      } else if (!PhoneNumber.isValid(phoneValue)) {
        addValidationError("Phone number must only contain characters [0-9()+- ]");
        valid = false;
      } else {
         = phoneValue;
        setValue(phoneValue);
      }
    } else {
      setValue(null);
    }
    return valid;
  }
New to GrepCode? Check out our FAQ X