@@ -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