📄 validate.js
字号:
{ name:"isUsZipCode", runtests: function(tests) { tests.t(dojox.validate.us.isZipCode('12345-6789')); tests.t(dojox.validate.us.isZipCode('12345 6789')); tests.t(dojox.validate.us.isZipCode('123456789')); tests.t(dojox.validate.us.isZipCode('12345')); } }, { name:"isCaZipCode", runtests: function(tests) { tests.t(dojox.validate.ca.isPostalCode('A1Z 3F3')); tests.f(dojox.validate.ca.isPostalCode('1AZ 3F3')); tests.t(dojox.validate.ca.isPostalCode('a1z 3f3')); tests.f(dojox.validate.ca.isPostalCode('xxxxxx')); tests.t(dojox.validate.ca.isPostalCode('A1Z3F3')); } }, { name:"isUsState", runtests: function(tests) { tests.t(dojox.validate.us.isState('CA')); tests.t(dojox.validate.us.isState('ne')); tests.t(dojox.validate.us.isState('PR')); tests.f(dojox.validate.us.isState('PR', {allowTerritories: false} )); tests.t(dojox.validate.us.isState('AA')); tests.f(dojox.validate.us.isState('AA', {allowMilitary: false} )); } }, { name:"formCheck", runtests: function(tests) { var f = { // textboxes tx1: {type: "text", value: " 1001 ", name: "tx1"}, tx2: {type: "text", value: " x", name: "tx2"}, tx3: {type: "text", value: "10/19/2005", name: "tx3"}, tx4: {type: "text", value: "10/19/2005", name: "tx4"}, tx5: {type: "text", value: "Foo@Localhost", name: "tx5"}, tx6: {type: "text", value: "Foo@Localhost", name: "tx6"}, tx7: {type: "text", value: "<Foo@Gmail.Com>", name: "tx7"}, tx8: {type: "text", value: " ", name: "tx8"}, tx9: {type: "text", value: "ca", name: "tx9"}, tx10: {type: "text", value: "homer SIMPSON", name: "tx10"}, tx11: {type: "text", value: "$1,000,000 (US)", name: "tx11"}, tx12: {type: "text", value: "as12.a13", name: "tx12"}, tx13: {type: "text", value: "4.13", name: "tx13"}, tx14: {type: "text", value: "15.681", name: "tx14"}, tx15: {value: "1", name: "tx15"}, cc_no: {type: "text", value: "5434 1111 1111 1111", name: "cc_no"}, cc_exp: {type: "text", value: "", name: "cc_exp"}, cc_type: {type: "text", value: "Visa", name: "cc_type"}, email: {type: "text", value: "foo@gmail.com", name: "email"}, email_confirm: {type: "text", value: "foo2@gmail.com", name: "email_confirm"}, // password pw1: {type: "password", value: "123456", name: "pw1"}, pw2: {type: "password", value: "123456", name: "pw2"}, // textarea - they have a type property, even though no html attribute ta1: {type: "textarea", value: "", name: "ta1"}, ta2: {type: "textarea", value: "", name: "ta2"}, // radio button groups rb1: [ {type: "radio", value: "v0", name: "rb1", checked: false}, {type: "radio", value: "v1", name: "rb1", checked: false}, {type: "radio", value: "v2", name: "rb1", checked: true} ], rb2: [ {type: "radio", value: "v0", name: "rb2", checked: false}, {type: "radio", value: "v1", name: "rb2", checked: false}, {type: "radio", value: "v2", name: "rb2", checked: false} ], rb3: [ {type: "radio", value: "v0", name: "rb3", checked: false}, {type: "radio", value: "v1", name: "rb3", checked: false}, {type: "radio", value: "v2", name: "rb3", checked: false} ], // checkboxes cb1: {type: "checkbox", value: "cb1", name: "cb1", checked: false}, cb2: {type: "checkbox", value: "cb2", name: "cb2", checked: false}, // checkbox group with the same name cb3: [ {type: "checkbox", value: "v0", name: "cb3", checked: false}, {type: "checkbox", value: "v1", name: "cb3", checked: false}, {type: "checkbox", value: "v2", name: "cb3", checked: false} ], doubledip: [ {type: "checkbox", value: "vanilla", name: "doubledip", checked: false}, {type: "checkbox", value: "chocolate", name: "doubledip", checked: false}, {type: "checkbox", value: "chocolate chip", name: "doubledip", checked: false}, {type: "checkbox", value: "lemon custard", name: "doubledip", checked: true}, {type: "checkbox", value: "pistachio almond", name: "doubledip", checked: false} ], // <select> s1: { type: "select-one", name: "s1", selectedIndex: -1, options: [ {text: "option 1", value: "v0", selected: false}, {text: "option 2", value: "v1", selected: false}, {text: "option 3", value: "v2", selected: false} ] }, // <select multiple> s2: { type: "select-multiple", name: "s2", selectedIndex: 1, options: [ {text: "option 1", value: "v0", selected: false}, {text: "option 2", value: "v1", selected: true}, {text: "option 3", value: "v2", selected: true} ] }, tripledip: { type: "select-multiple", name: "tripledip", selectedIndex: 3, options: [ {text: "option 1", value: "vanilla", selected: false}, {text: "option 2", value: "chocolate", selected: false}, {text: "option 3", value: "chocolate chip", selected: false}, {text: "option 4", value: "lemon custard", selected: true}, {text: "option 5", value: "pistachio almond", selected: true}, {text: "option 6", value: "mocha almond chip", selected: false} ] }, doublea: { type: "select-multiple", name: "doublea", selectedIndex: 2, options: [ {text: "option 1", value: "vanilla", selected: false}, {text: "option 2", value: "chocolate", selected: true}, {text: "option 3", value: "", selected: true} ] }, // <select> null selection s3: { type: "select-one", name: "s3", selectedIndex: 0, options: [ {text: "option 1", value: "", selected: true}, {text: "option 2", value: "v1", selected: false}, {text: "option 3", value: "v2", selected: false} ] }, selectAlien: { name: "selectAlien", multiple: "multiple", id: "selectAlient", size: "10", length: 0, options: [], value:[] } }; // Profile for form input var profile = { // filters trim: ["tx1", "tx2"], uppercase: ["tx9"], lowercase: ["tx5", "tx6", "tx7"], ucfirst: ["tx10"], digit: ["tx11"], // required fields required: ["tx2", "tx3", "tx4", "tx5", "tx6", "tx7", "tx8", "tx15", "pw1", "ta1", "rb1", "rb2", "cb3", "s1", "s2", "s3", {"doubledip":2}, {"tripledip":3}, {"doublea":2} ], // dependant/conditional fields dependencies: { cc_exp: "cc_no", cc_type: "cc_no" }, // validated fields constraints: { tx1: dojox.validate.isInteger, tx2: dojox.validate.isInteger, tx3: [dojo.date.parse, {locale: 'en-us'}], tx4: [dojo.date.parse, {locale: 'fr-fr'}], tx5: [dojox.validate.isEmailAddress], tx6: [dojox.validate.isEmailAddress, {allowLocal: true}], tx7: [dojox.validate.isEmailAddress, {allowCruft: true}], tx8: dojox.validate.isURL, tx12: [[dojox.validate.isRealNumber],[dojox.validate.isInRange, {max:100.00,min:5.0}]], tx13: [[dojox.validate.isRealNumber],[dojox.validate.isInRange, {max:100.00,min:5.0}]], tx14: [[dojox.validate.isRealNumber],[dojox.validate.isInRange, {max:100.00,min:5.0}]] }, // confirm fields confirm: { email_confirm: "email", pw2: "pw1" } }; // results object var results = dojox.validate.check(f, profile); // test filter stuff tests.asserEquals("1001", f.tx1.value ); tests.asserEquals("x", f.tx2.value ); tests.asserEquals("CA", f.tx9.value ); tests.asserEquals("foo@localhost", f.tx5.value ); tests.asserEquals("foo@localhost", f.tx6.value ); tests.asserEquals("<foo@gmail.com>", f.tx7.value ); tests.asserEquals("Homer Simpson", f.tx10.value ); tests.asserEquals("1000000", f.tx11.value ); // test missing stuff tests.f(results.isSuccessful() ); tests.t(results.hasMissing() ); tests.f(results.isMissing("tx1") ); tests.f(results.isMissing("tx2") ); tests.f(results.isMissing("tx3") ); tests.f(results.isMissing("tx4") ); tests.f(results.isMissing("tx5") ); tests.f(results.isMissing("tx6") ); tests.f(results.isMissing("tx7") ); tests.t(results.isMissing("tx8") ); tests.f(results.isMissing("pw1") ); tests.f(results.isMissing("pw2") ); tests.t(results.isMissing("ta1") ); tests.f(results.isMissing("ta2") ); tests.f(results.isMissing("rb1") ); tests.t(results.isMissing("rb2") ); tests.f(results.isMissing("rb3") ); tests.t(results.isMissing("cb3") ); tests.t(results.isMissing("s1") ); tests.f(results.isMissing("s2") ); tests.t(results.isMissing("s3")); tests.t(results.isMissing("doubledip") ); tests.t(results.isMissing("tripledip") ); tests.t(results.isMissing("doublea")); tests.f(results.isMissing("cc_no") ); tests.t(results.isMissing("cc_exp") ); tests.f(results.isMissing("cc_type") ); // missing: tx8, ta1, rb2, cb3, s1, s3, doubledip, tripledip, cc_exp tests.asserEquals(10, results.getMissing().length ); // test constraint stuff tests.t(results.hasInvalid() ); tests.f(results.isInvalid("tx1") ); tests.t(results.isInvalid("tx2") ); tests.f(results.isInvalid("tx3") ); tests.t(results.isInvalid("tx4") ); tests.t(results.isInvalid("tx5") ); tests.f(results.isInvalid("tx6") ); tests.f(results.isInvalid("tx7") ); tests.f(results.isInvalid("tx8") ); tests.f(results.isInvalid("pw1") ); tests.f(results.isInvalid("pw2") ); tests.f(results.isInvalid("ta1") ); tests.f(results.isInvalid("ta2") ); tests.f(results.isInvalid("email") ); tests.t(results.isInvalid("email_confirm") ); // invlaid: txt2, txt4, txt5, email_confirm, selectAlien tests.asserEquals(7, results.getInvalid().length); tests.t(results.isInvalid("tx12")); tests.t(results.isInvalid("tx13")); tests.f(results.isInvalid("tx14")); tests.t(results.isInvalid("selectAlien")); } }]);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -