📄 validate.js
字号:
dojo.inherits(dojo.widget.validate.CurrencyTextbox, dojo.widget.validate.IntegerTextbox);dojo.lang.extend(dojo.widget.validate.CurrencyTextbox, { // new subclass properties widgetType: "CurrencyTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.CurrencyTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.cents ) { this.flags.cents = ( localProperties.cents == "true" ); } if ( localProperties.symbol ) { this.flags.symbol = localProperties.symbol; } if(localProperties.min){ this.flags.min = parseFloat(localProperties.min); } if(localProperties.max){ this.flags.max = parseFloat(localProperties.max); } }, // Over-ride for currency validation isValid: function() { return dojo.validate.isCurrency(this.textbox.value, this.flags); }, isInRange: function() { return dojo.validate.isInRange(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:CurrencyTextbox");/* ****** IpAddressTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test for IP addresses. Can specify formats for ipv4 or ipv6 as attributes in the markup. @attr allowDottedDecimal true or false, default is true. @attr allowDottedHex true or false, default is true. @attr allowDottedOctal true or false, default is true. @attr allowDecimal true or false, default is true. @attr allowHex true or false, default is true. @attr allowIPv6 true or false, default is true. @attr allowHybrid true or false, default is true.*/dojo.widget.validate.IpAddressTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.IpAddressTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.IpAddressTextbox, { // new subclass properties widgetType: "IpAddressTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.IpAddressTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.allowdotteddecimal ) { this.flags.allowDottedDecimal = ( localProperties.allowdotteddecimal == "true" ); } if ( localProperties.allowdottedhex ) { this.flags.allowDottedHex = ( localProperties.allowdottedhex == "true" ); } if ( localProperties.allowdottedoctal ) { this.flags.allowDottedOctal = ( localProperties.allowdottedoctal == "true" ); } if ( localProperties.allowdecimal ) { this.flags.allowDecimal = ( localProperties.allowdecimal == "true" ); } if ( localProperties.allowhex ) { this.flags.allowHex = ( localProperties.allowhex == "true" ); } if ( localProperties.allowipv6 ) { this.flags.allowIPv6 = ( localProperties.allowipv6 == "true" ); } if ( localProperties.allowhybrid ) { this.flags.allowHybrid = ( localProperties.allowhybrid == "true" ); } }, // Over-ride for IP address validation isValid: function() { return dojo.validate.isIpAddress(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:IpAddressTextbox");/* ****** UrlTextbox ****** A subclass of IpAddressTextbox. Over-rides isValid to test for URL's. Can specify 5 additional attributes in the markup. @attr scheme Can be true or false. If omitted the scheme is optional. @attr allowIP Allow an IP address for hostname. Default is true. @attr allowLocal Allow the host to be "localhost". Default is false. @attr allowCC Allow 2 letter country code domains. Default is true. @attr allowGeneric Allow generic domains. Can be true or false, default is true.*/dojo.widget.validate.UrlTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.UrlTextbox, dojo.widget.validate.IpAddressTextbox);dojo.lang.extend(dojo.widget.validate.UrlTextbox, { // new subclass properties widgetType: "UrlTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.UrlTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.scheme ) { this.flags.scheme = ( localProperties.scheme == "true" ); } if ( localProperties.allowip ) { this.flags.allowIP = ( localProperties.allowip == "true" ); } if ( localProperties.allowlocal ) { this.flags.allowLocal = ( localProperties.allowlocal == "true" ); } if ( localProperties.allowcc ) { this.flags.allowCC = ( localProperties.allowcc == "true" ); } if ( localProperties.allowgeneric ) { this.flags.allowGeneric = ( localProperties.allowgeneric == "true" ); } }, // Over-ride for URL validation isValid: function() { return dojo.validate.isUrl(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:UrlTextbox");/* ****** EmailTextbox ****** A subclass of UrlTextbox. Over-rides isValid to test for email addresses. Can use all markup attributes/properties of UrlTextbox except scheme. One new attribute available in the markup. @attr allowCruft Allow address like <mailto:foo@yahoo.com>. Default is false.*/dojo.widget.validate.EmailTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.EmailTextbox, dojo.widget.validate.UrlTextbox);dojo.lang.extend(dojo.widget.validate.EmailTextbox, { // new subclass properties widgetType: "EmailTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.EmailTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.allowcruft ) { this.flags.allowCruft = ( localProperties.allowcruft == "true" ); } }, // Over-ride for email address validation isValid: function() { return dojo.validate.isEmailAddress(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:EmailTextbox");/* ****** EmailListTextbox ****** A subclass of EmailTextbox. Over-rides isValid to test for a list of email addresses. Can use all markup attributes/properties of EmailTextbox and ... @attr listSeparator The character used to separate email addresses. Default is ";", ",", "\n" or " ".*/dojo.widget.validate.EmailListTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.EmailListTextbox, dojo.widget.validate.EmailTextbox);dojo.lang.extend(dojo.widget.validate.EmailListTextbox, { // new subclass properties widgetType: "EmailListTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.EmailListTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.listseparator ) { this.flags.listSeparator = localProperties.listseparator; } }, // Over-ride for email address list validation isValid: function() { return dojo.validate.isEmailAddressList(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:EmailListTextbox");/* ****** DateTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is in a valid date format. @attr format Described in dojo.validate.js. Default is "MM/DD/YYYY".*/dojo.widget.validate.DateTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.DateTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.DateTextbox, { // new subclass properties widgetType: "DateTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.DateTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.format ) { this.flags.format = localProperties.format; } }, // Over-ride for date validation isValid: function() { return dojo.validate.isValidDate(this.textbox.value, this.flags.format); }});dojo.widget.tags.addParseTreeHandler("dojo:DateTextbox");/* ****** TimeTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is in a valid time format. @attr format Described in dojo.validate.js. Default is "h:mm:ss t". @attr amSymbol The symbol used for AM. Default is "AM" or "am". @attr pmSymbol The symbol used for PM. Default is "PM" or "pm".*/dojo.widget.validate.TimeTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.TimeTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.TimeTextbox, { // new subclass properties widgetType: "TimeTextbox", mixInProperties: function(localProperties, frag) { // First initialize properties in super-class. dojo.widget.validate.TimeTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, and assign to flags object. if ( localProperties.format ) { this.flags.format = localProperties.format; } if ( localProperties.amsymbol ) { this.flags.amSymbol = localProperties.amsymbol; } if ( localProperties.pmsymbol ) { this.flags.pmSymbol = localProperties.pmsymbol; } }, // Over-ride for time validation isValid: function() { return dojo.validate.isValidTime(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:TimeTextbox");/* ****** UsStateTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is a US state abbr. @attr allowTerritories Allow Guam, Puerto Rico, etc. Default is true. @attr allowMilitary Allow military 'states', e.g. Armed Forces Europe (AE). Default is true.*/dojo.widget.validate.UsStateTextbox = function(node) { this.flags = {};}dojo.inherits(dojo.widget.validate.UsStateTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.UsStateTextbox, { // new subclass properties widgetType: "UsStateTextbox", mixInProperties: function(localProperties, frag) { // Initialize properties in super-class. dojo.widget.validate.UsStateTextbox.superclass.mixInProperties.apply(this, arguments); // Get properties from markup attibutes, 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() { return dojo.validate.us.isState(this.textbox.value, this.flags); }});dojo.widget.tags.addParseTreeHandler("dojo:UsStateTextbox");/* ****** 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.validate.UsZipTextbox = function(node) {}dojo.inherits(dojo.widget.validate.UsZipTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.UsZipTextbox, { // new subclass properties widgetType: "UsZipTextbox", isValid: function() { return dojo.validate.us.isZipCode(this.textbox.value); }});dojo.widget.tags.addParseTreeHandler("dojo:UsZipTextbox");/* ****** UsSocialSecurityNumberTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is a US Social Security Number.*/dojo.widget.validate.UsSocialSecurityNumberTextbox = function(node) {}dojo.inherits(dojo.widget.validate.UsSocialSecurityNumberTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.UsSocialSecurityNumberTextbox, { // new subclass properties widgetType: "UsSocialSecurityNumberTextbox", isValid: function() { return dojo.validate.us.isSocialSecurityNumber(this.textbox.value); }});dojo.widget.tags.addParseTreeHandler("dojo:UsSocialSecurityNumberTextbox");/* ****** UsPhoneNumberTextbox ****** A subclass of ValidationTextbox. Over-rides isValid to test if input is a 10-digit US phone number, an extension is optional.*/dojo.widget.validate.UsPhoneNumberTextbox = function(node) {}dojo.inherits(dojo.widget.validate.UsPhoneNumberTextbox, dojo.widget.validate.ValidationTextbox);dojo.lang.extend(dojo.widget.validate.UsPhoneNumberTextbox, { // new subclass properties widgetType: "UsPhoneNumberTextbox", isValid: function() { return dojo.validate.us.isPhoneNumber(this.textbox.value); }});dojo.widget.tags.addParseTreeHandler("dojo:UsPhoneNumberTextbox");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -