define("dojox/validate/ca", ["dojo/_base/lang", "./_base", "./regexp", "./us"], function(lang, validate, xregexp, us){ var ca = lang.getObject("ca", true, validate); /*===== ca = { // summary: // Module which includes Canadian-specific methods for dojox.validate }; =====*/ lang.mixin(ca, { isPhoneNumber: function(/* String */value){ // summary: // Validates Canadian 10-digit phone number for several common formats return us.isPhoneNumber(value); // Boolean }, isProvince: function(/* String[2] */value) { // summary: // Validates Canadian province abbreviations (2 characters) var re = new RegExp("^" + xregexp.ca.province() + "$", "i"); return re.test(value); // Boolean }, isSocialInsuranceNumber: function(/* String */value) { // summary: // Validates Canadian 9 digit social insurance number for several // common formats // description: // Validates Canadian 9 digit social insurance number for several // common formats. This routine only pattern matches and does not // use the Luhn Algorithm to validate number. var flags = { format: [ "###-###-###", "### ### ###", "#########" ]}; return validate.isNumberFormat(value, flags); // Boolean }, isPostalCode: function(value) { // summary: // Validates Canadian 6 digit postal code // description: // Validates Canadian 6 digit postal code. // Canadian postal codes are in the format ANA NAN, // where A is a letter and N is a digit, with a space // separating the third and fourth characters. var re = new RegExp("^" + xregexp.ca.postalCode() + "$", "i"); return re.test(value); // Boolean } }); return ca; });