Mandatory Fields in Angular Web Portal for new identity creation

Hi All,

Is there any way I can make some fields mandetory like "company" while creation new indentiy using portal.

I can make this field mandetory by setting min lenght of the column in designer but problem is that this field is mandetory only when creating external identity using web portal.

For identity imported from Successfactors this fiels is not mandetory.

If I make mandetory by setting min lenght on column in designed it works fine but successfactors sync throws error.

Is there any simple way to handel this.

OIM version is 9.3

  • I thought the option 'Property editors / Primary editable properties' would turn the added properties into mandatory ones
    when creating an object but it doesn't (v93)

    Administration Portal > Configuration: Web Portal (click on: three dots icon)

    Create configuration key
    Property editors / Primary editable properties
    Person
    [Create]

    Feature configuration (QER)
    Property editors / Primary editable properties / Identities
    These are the main properties required for creating an object. (does this mean mandatory?)

    [Add New]
    Company (UID_FirmPartner)

    And then for the onloaded persons my thought was to put this in the Table scripts: Script (Onloaded) of the person table.

    If AppData.Instance.AppType = AppType.Web AndAlso _
            AppData.Instance.AppName.Equals("QBM") Then
    
        Entity.Columns("UID_FirmPartner").MinLen = 1
    End If

    This doesn't work which I find strange, since the.CanEdit and .CanSee "overwrite" options do work?

  • Just double-checked it, had some more time to test it out.

    1: The option "Property editors / Primary editable properties" only show's the properties needed when creating a new object but doesn't make them mandatory. (so no defect my misunderstanding of the feature)

    2: The .MinLen = 1 works so you can make properties mandatory for onloaded objects exclusively for the Portal: changed the script in above post should work now. (also no defect my coding mistake)

    3. To make the property only mandatory in the portal when creating a new object I think your only option is to modify the HTML application.
    Something like this:
    imxweb\projects\qer\src\lib\identities\create-new-identity\create-new-identity.component.ts 
    so after the line: this.cdrListPersonal = ... or this.cdrListOrganizational = ...
    depending in which list where your added property is placed

    this.cdrListPersonal.map((field) => {
    if(field.column.ColumnName === "The column name goes in here") {
    field.minLength = 1;
    }
    })

    4: Or put this in the Table scripts: Script (Onsaving)  as a temp. workaround Wink
    If AppData.Instance.AppType = AppType.Web AndAlso _
            AppData.Instance.AppName.Equals("QBM") AndAlso _
            String.IsNullOrEmpty($UID_Locality$) Then
    
        Throw New ViException(#LD("You are required to add a company, and we need an angular developer to make this prettier")#, ExceptionRelevance.EndUser)
    End If

  • Thanks Niels for your help, 

    option 4 we already have in place.

    I will try to update HTML code.