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 Reply
  • +1
    Certified Lead Developer
    in reply to vamsiKrishna

    You can also do this in field-level validation as mentioned above.
    Check the syntax below and replace it with your record type appropriately.

    if(
      a!queryRecordType(
        recordType: cons!YOUR_RECORD_TYPE,
        filters: {
          a!queryFilter(
            field: 'recordType!YourRecordType.fields.username',
            operator: "=", 
            value: rv!record['recordType!YourRecordType.fields.username'] 
          ),
          a!queryFilter(
            field: 'recordType!YourRecordType.fields.id', 
            operator: "<>", 
            value: rv!record['recordType!YourRecordType.fields.id']
          )
        },
        pagingInfo: a!pagingInfo(1, 1) 
      ).totalCount > 0, 
      "Username already exists",
      null
    )

Children