/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.widget.UsTextbox"); dojo.require("dojo.widget.ValidationTextbox"); dojo.require("dojo.validate.us"); dojo.widget.defineWidget( "dojo.widget.UsStateTextbox", dojo.widget.ValidationTextbox, { // summary: // a Textbox which tests for a United States state abbreviation // allowTerritories: Boolean // Allow Guam, Puerto Rico, etc. Default is true. // allowMilitary: Boolean // Allow military 'states', e.g. Armed Forces Europe (AE). Default is true. mixInProperties: function(/*Object*/localProperties){ // summary: see dojo.widget.Widget // Initialize properties in super-class. dojo.widget.UsStateTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attributes, and assign to flags object. if(localProperties.allowterritories){ this.flags.allowTerritories = (localProperties.allowterritories == "true"); } if(localProperties.allowmilitary){ this.flags.allowMilitary = (localProperties.allowmilitary == "true"); } }, isValid: function(){ // summary: see dojo.widget.ValidationTextbox return dojo.validate.us.isState(this.textbox.value, this.flags); } } ); /* ****** UsZipTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is a US zip code. Validates zip-5 and zip-5 plus 4. */ dojo.widget.defineWidget( "dojo.widget.UsZipTextbox", dojo.widget.ValidationTextbox, { // summary: a Textbox which tests for a United States postal code isValid: function(){ // summary: see dojo.widget.ValidationTextbox return dojo.validate.us.isZipCode(this.textbox.value); } } ); dojo.widget.defineWidget( "dojo.widget.UsSocialSecurityNumberTextbox", dojo.widget.ValidationTextbox, { // summary: a Textbox which tests for a United States Social Security number isValid: function(){ // summary: see dojo.widget.ValidationTextbox return dojo.validate.us.isSocialSecurityNumber(this.textbox.value); } } ); dojo.widget.defineWidget( "dojo.widget.UsPhoneNumberTextbox", dojo.widget.ValidationTextbox, { // summary: a Textbox which tests for a United States 10-digit telephone number, extension is optional. isValid: function(){ // summary: see dojo.widget.ValidationTextbox return dojo.validate.us.isPhoneNumber(this.textbox.value); } } );