I am using the Encrypted Text field to store a user's Social Security or National ID Number. When I enter data into the field, I get the following error message.
Expression evaluation error [evaluation ID = 82d04:b4023] in rule 'pmso_createorupdatespeakerpersonalinfo' at function a!encryptedTextField [line 82]: An error occurred while executing a save: Could not cast from Encrypted Text to Text. Details: CastInvalid.
The SSN is stored as a text field in the Record Type PMSO Speaker. The record is stored as a Local Variable until committed to save by the user.
Here is the code for the field
a!sideBySideItem( item: a!encryptedTextField( label: if( local!isUnitedStates, "Social Security Number", "National Id Number" ), labelPosition: "ABOVE", placeholder:if( local!isUnitedStates, "-- Please enter your Social Security Number --", "-- Please enter your National Id Number --" ), masked: true(), value: local!speakerRecord['recordType!PMSO Speaker.fields.speakerSSN'], saveInto: local!speakerRecord['recordType!PMSO Speaker.fields.speakerSSN'], refreshAfter: "UNFOCUS" ) ),
Discussion posts and replies are publicly visible
Unless I'm mistaken, It doesn't seem like the encryptedTextField supports synced Record Types. There is no encrypted text data type available (unlike CDTs which have them). Seems like an odd oversight. Peter Lewis - any thoughts?
I think the only options at the moment, are either to use a CDT or use a regular text field and manage the encryption yourself using a plugin like: Encryption Functions.
Yes, at this time encrypted text fields are not supported for synced record types. Your best bet is what Mathieu recommended: to use encryption functions to encrypt / decrypt the field value.