/* 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.RegexpTextbox"); dojo.require("dojo.widget.ValidationTextbox"); dojo.widget.defineWidget( "dojo.widget.RegexpTextbox", dojo.widget.ValidationTextbox, { /* summary A subclass of ValidationTextbox. Over-rides isValid to test input based on a regular expression. Has a new property that can be specified as attributes in the markup. regexp: String The regular expression string to use flags: String Flags to pass to the regular expression (e.g. 'i', 'g', etc) */ mixInProperties: function(localProperties, frag){ // First initialize properties in super-class. dojo.widget.RegexpTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if(localProperties.regexp){ this.flags.regexp = localProperties.regexp; } if(localProperties.flags){ this.flags.flags = localProperties.flags; } }, // Over-ride for integer validation isValid: function(){ var regexp = new RegExp(this.flags.regexp, this.flags.flags); return regexp.test(this.textbox.value); } } );