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:
Property | Description |
---|---|
type | The event type for the ElementEvent . |
complete | Whether the input valid and maskSatisfied properties are true . |
valid | Whether the input is valid according to validation for each element. |
maskSatisfied | Whether the input satisfies the mask length requirements. |
details | An array of ElementEventDetail describing more information about the element event. |
ElementEvent Types
The following are the available element event types and their descriptions.
Type | Description |
---|---|
textChange | All elements emit this event when a user changes an element's value. |
maskChange | CardVerificationCodeUITextField elements emit this event when its mask has changed. |
ElementEventDetail
Property | Description |
---|---|
type | A String describing the type of detail. |
message | A String containing the message for the detail. |
ElementEventDetail Types
The following are the available element event detail types and their descriptions.
Type | Description |
---|---|
cardBrand | CardNumberUITextField elements emit a card brand name when a card number can be identified. |
cardLast4 | CardNumberUITextField elements emit the last 4 digits of a card number when the input is considered complete . |
cardBin | CardNumberUITextField 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)