Skip to main content

Events

ElementEvent

iOS Element events are triggered whenever a user types into an element text field. An ElementEvent is the struct that gets passed into the subject’s receiveValue function. The following are properties on the ElementEvent struct:

PropertyDescription
typeThe event type for the ElementEvent.
completeWhether the input valid and maskSatisfied properties are true.
validWhether the input is valid according to validation for each element.
maskSatisfiedWhether the input satisfies the mask length requirements.
detailsAn array of ElementEventDetail describing more information about the element event.

ElementEvent Types

The following are the available element event types and their descriptions.

TypeDescription
textChangeAll elements emit this event when a user changes an element's value.
maskChangeCardVerificationCodeUITextField elements emit this event when its mask has changed.

ElementEventDetail

PropertyDescription
typeA String describing the type of detail.
messageA String containing the message for the detail.

ElementEventDetail Types

The following are the available element event detail types and their descriptions.

TypeDescription
cardBrandCardNumberUITextField elements emit a card brand name when a card number can be identified.
cardLast4CardNumberUITextField elements emit the last 4 digits of a card number when the input is considered complete.
cardBinCardNumberUITextField elements emit the first 6 digits of a card number when the input is considered complete.

Usage

You can observe element events through the PassThroughSubject subject field on every element.

private var cancellables = Set<AnyCancellable>()
...

myTextField.subject.sink { completion in
...
} receiveValue: { elementEvent in
...
}.store(in: &cancellables)