Skip to content

Commit 6cfc823

Browse files
committed
Merge pull request #4460 from wordpress-mobile/issue/4459-disallow-spaces
Disallow spaces in every field except password
2 parents 5630baf + d196356 commit 6cfc823

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

WordPress/Classes/ViewRelated/NUX/CreateAccountAndBlogViewController.m

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ - (BOOL)textFieldShouldReturn:(UITextField *)textField
151151
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
152152
replacementString:(NSString *)string
153153
{
154+
if ([string isEqualToString:@" "] && ![textField isEqual:_passwordField]) { // Disallow spaces in every field except password
155+
return NO;
156+
}
157+
154158
NSArray *fields = @[_emailField, _usernameField, _passwordField, _siteAddressField];
155159

156160
NSMutableString *updatedString = [[NSMutableString alloc] initWithString:textField.text];
@@ -696,7 +700,7 @@ - (BOOL)isSiteAddressFilled
696700

697701
- (BOOL)fieldsValid
698702
{
699-
return [self fieldsFilled] && [self isUsernameUnderFiftyCharacters];
703+
return [self fieldsFilled] && [self isUsernameUnderFiftyCharacters] && ![self emailOrUsernameOrSiteAddressContainsSpaces];
700704
}
701705

702706
- (NSString *)generateSiteTitleFromUsername:(NSString *)username
@@ -711,11 +715,22 @@ - (void)showAllErrors
711715
{
712716
if (![self isUsernameUnderFiftyCharacters]) {
713717
[self showError:NSLocalizedString(@"Username must be less than fifty characters.", nil)];
718+
} else if ([self emailOrUsernameOrSiteAddressContainsSpaces]) {
719+
[self showError:NSLocalizedString(@"Email, Username, and Site Address cannot contain spaces", @"No spaces error message")];
714720
} else {
715721
[self showFieldsNotFilledError];
716722
}
717723
}
718724

725+
- (BOOL)emailOrUsernameOrSiteAddressContainsSpaces {
726+
NSString *space = @" ";
727+
NSString *emailTrimmed = [_emailField.text trim];
728+
NSString *userNameTrimmed = [_usernameField.text trim];
729+
NSString *siteAddressTrimmed = [_siteAddressField.text trim];
730+
731+
return ([emailTrimmed containsString:space] || [userNameTrimmed containsString:space] || [siteAddressTrimmed containsString:space]);
732+
}
733+
719734
- (void)showFieldsNotFilledError
720735
{
721736
[self showError:NSLocalizedString(@"Please fill out all the fields", nil)];

0 commit comments

Comments
 (0)