From 18614c39f6dd140a2292b5ca0b562afd6718c4e8 Mon Sep 17 00:00:00 2001 From: Aileen Nowak Date: Thu, 16 Nov 2017 20:47:56 +0800 Subject: [PATCH] Added missing client validations for blog title and user/subscriber email fields (#909) refs TryGhost/Ghost#8143 Added more client side validations for input fields: - Blog title in setup flow (150 chars) - User email (191 chars) - Subscribers email (191 chars) --- ghost/admin/app/validators/setup.js | 5 +++++ ghost/admin/app/validators/subscriber.js | 4 ++++ ghost/admin/app/validators/user.js | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/ghost/admin/app/validators/setup.js b/ghost/admin/app/validators/setup.js index e88644f979..b6497e2687 100644 --- a/ghost/admin/app/validators/setup.js +++ b/ghost/admin/app/validators/setup.js @@ -10,5 +10,10 @@ export default NewUserValidator.create({ model.get('errors').add('blogTitle', 'Please enter a blog title.'); this.invalidate(); } + + if (!validator.isLength(blogTitle, 0, 150)) { + model.get('errors').add('blogTitle', 'Title is too long'); + this.invalidate(); + } } }); diff --git a/ghost/admin/app/validators/subscriber.js b/ghost/admin/app/validators/subscriber.js index 3bb3ba44a5..56ab659b7b 100644 --- a/ghost/admin/app/validators/subscriber.js +++ b/ghost/admin/app/validators/subscriber.js @@ -14,6 +14,10 @@ export default BaseValidator.create({ model.get('errors').add('email', 'Invalid email.'); model.get('hasValidated').pushObject('email'); this.invalidate(); + } else if (!validator.isLength(email, 0, 191)) { + model.get('errors').add('email', 'Email is too long'); + model.get('hasValidated').pushObject('email'); + this.invalidate(); } } }); diff --git a/ghost/admin/app/validators/user.js b/ghost/admin/app/validators/user.js index d8a0940024..be8de838cf 100644 --- a/ghost/admin/app/validators/user.js +++ b/ghost/admin/app/validators/user.js @@ -40,6 +40,11 @@ export default PasswordValidator.create({ model.get('errors').add('email', 'Please supply a valid email address'); this.invalidate(); } + + if (!validator.isLength(email, 0, 191)) { + model.get('errors').add('email', 'Email is too long'); + this.invalidate(); + } }, location(model) {