From a0b5692d077544ea2f44b41ed72f0b3c26b3dcf6 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 24 Jul 2018 15:06:18 +0200 Subject: zipcode check, other error field checkz --- StoneIsland/www/js/lib/nav/AddressView.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'StoneIsland/www/js/lib/nav/AddressView.js') diff --git a/StoneIsland/www/js/lib/nav/AddressView.js b/StoneIsland/www/js/lib/nav/AddressView.js index 1c9540bc..9e0c49b6 100755 --- a/StoneIsland/www/js/lib/nav/AddressView.js +++ b/StoneIsland/www/js/lib/nav/AddressView.js @@ -38,9 +38,31 @@ var AddressView = SerializableView.extend({ validate_fields: function(data, errors){ if (this.disabled) { return } - if (this.checkPhone && ! data.Phone) { errors.push([ "Phone", "Please enter your phone number." ]) } - if (this.checkPhone && data.Phone && data.Phone.replace(/[^0-9]/g, "").length < 10) { errors.push([ "Phone", "Phone numbers must be at least 10 digits." ]) } - if (! data.Province || data.Province == "NONE") { errors.push([ "Province", "Please choose your state." ]) } + if (this.checkPhone) { + var phone_number = data.Phone ? data.Phone.replace(/[^0-9]/g, "") : "" + var phone_length = phone_number.length + if (phone_length === 0 || ! data.Phone) { + errors.push([ "Phone", "Please enter your phone number." ]) + } + else if (phone_length < 10) { + errors.push([ "Phone", "Please enter a valid 10 digit US/Canada phone number." ]) + } + else if (phone_length > 10) { + errors.push([ "Phone", "International phone numbers are not accepted." ]) + } + else if (data.Phone[0] === '+') { + errors.push([ "Phone", "Please enter a valid 10 digit US/Canada phone number. International phone numbers are not accepted." ]) + } + else if (phone_number[0] === '1') { + errors.push([ "Phone", "Please enter a valid 10 digit US/Canada phone number. International phone numbers are not accepted." ]) + } + } + if (! data.Province || data.Province == "NONE") { + errors.push([ "Province", "Please choose your state." ]) + } + if (data.ZipCode && data.ZipCode.length < 5) { + errors.push([ "ZipCode", "Please enter a valid zip code." ]) + } data.Address = data.Address1 + "\n" + data.Address2 data.UserId = auth.user_id delete data.Address1 -- cgit v1.2.3-70-g09d2