blob: 1c3c2d00f9683af73d4197a365bced6976eb4fca [file] [log] [blame]
/*
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);
}
}
);