BTUIKCardholderNameFormField.m 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #import "BTUIKCardholderNameFormField.h"
  2. #import "BTUIKLocalizedString.h"
  3. @implementation BTUIKCardholderNameFormField
  4. - (instancetype)initWithFrame:(CGRect)frame {
  5. self = [super initWithFrame:frame];
  6. if (self) {
  7. self.textField.accessibilityLabel = BTUIKLocalizedString(CARDHOLDER_NAME_LABEL);
  8. self.formLabel.text = BTUIKLocalizedString(CARDHOLDER_NAME_LABEL);
  9. self.textField.autocorrectionType = UITextAutocorrectionTypeNo;
  10. self.textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
  11. self.textField.returnKeyType = UIReturnKeyNext;
  12. }
  13. return self;
  14. }
  15. - (NSString *)cardholderName {
  16. return self.textField.text;
  17. }
  18. - (BOOL)valid {
  19. if (self.isRequired) {
  20. return [self.cardholderName stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceCharacterSet].length > 0;
  21. }
  22. else {
  23. return YES;
  24. }
  25. }
  26. #pragma mark - UITextFieldDelegate
  27. - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  28. NSString *newText = [textField.text stringByReplacingCharactersInRange:range withString:string];
  29. return newText.length <= 255;
  30. }
  31. @end