Reusable interface in record field, duplicate validation check

Hi Team,

I am trying the new feature in record type, creating reusable interface for a record field.

https://docs.appian.com/suite/help/25.2/reference-records.html#reference-record-field-interfaces

i need to do duplicate validation for the fields, created by using re-usable interfaces for a record field.

Below is the interface definition of the created interface automatically by Appian, for the record field.

a!textField(
  label: 'recordType!{b1ecf478-0b29-4be8-a0f1-edc36a6d606a}SG IPL Match.fields.{4b2ebeae-9196-4a13-8d48-44abf5b765ae}username.properties.{displayName}displayName',
  labelPosition: "ABOVE",
  showWhen: fn!true(),
  value: ri!record['recordType!{b1ecf478-0b29-4be8-a0f1-edc36a6d606a}SG IPL Match.fields.{4b2ebeae-9196-4a13-8d48-44abf5b765ae}username'],
  saveInto: ri!record['recordType!{b1ecf478-0b29-4be8-a0f1-edc36a6d606a}SG IPL Match.fields.{4b2ebeae-9196-4a13-8d48-44abf5b765ae}username'],
  align: "LEFT"
)

Now how to validate if username provided by user is not a duplicate one?

How to validate for multiple fields?

How to validate for related records for a specific country, for example, in states record, for state name field. i should check for duplicates for a particular country only.

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    In the Record->Data Model you can configure common validations for a field. Refer related Document here and here  which uses a!applyValidation for reusable validations for reusable interfaces for record field. Generally for checks like '@' in email or phone number formatting this validation configuration will be helpful. 

    For Duplication check in your usecase I suggest you to create validation logic and configure them in the reusable interface for each field. You can use 'additionalValidations '  attribute of the a!applyValidation() to check duplicates and show validation as configuring/testing them in the Data Model field's Validation can be tricky. Below is an example where date validation is added on the reusable interface for the endDate field. Similarly you can check for duplicate using an expression and show user's validation message. Hope it helps!

     

    a!applyValidations(
     recordField: recordType!Case.field.endDate,
     context: ri!record,
     additionalValidations: {
        if(
         ri!record[recordType!Case.fields.endDate] > today(),
         "",
         "Enter Valid Date"
        )
        }
    )
    


Reply
  • 0
    Certified Lead Developer

    In the Record->Data Model you can configure common validations for a field. Refer related Document here and here  which uses a!applyValidation for reusable validations for reusable interfaces for record field. Generally for checks like '@' in email or phone number formatting this validation configuration will be helpful. 

    For Duplication check in your usecase I suggest you to create validation logic and configure them in the reusable interface for each field. You can use 'additionalValidations '  attribute of the a!applyValidation() to check duplicates and show validation as configuring/testing them in the Data Model field's Validation can be tricky. Below is an example where date validation is added on the reusable interface for the endDate field. Similarly you can check for duplicate using an expression and show user's validation message. Hope it helps!

     

    a!applyValidations(
     recordField: recordType!Case.field.endDate,
     context: ri!record,
     additionalValidations: {
        if(
         ri!record[recordType!Case.fields.endDate] > today(),
         "",
         "Enter Valid Date"
        )
        }
    )
    


Children