Field validation happens twice in form(s)

Which IIQ version are you inquiring about?

Version 8.3

Please share any other relevant files that may be required (for example, logs).

ValidationLogs.txt (444 Bytes)

Share all details related to your problem, including any error messages you may have received.

We have a problem with forms where the field validation happens twice on submitting the form.
Does anyone have experienced this issue. And if so, why would that happen and is there a way to fix this?

Can you share the form xml?

Here you go.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Form PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Form name="Bulk identity Create and Update" type="Workflow">
  <Attributes>
    <Map>
      <entry key="pageTitle"/>
    </Map>
  </Attributes>
  <Description>Bulk request to create and/or update identity</Description>
  <Button action="cancel" label="Cancel" skipValidation="true"/>
  <Button action="next" label="Submit"/>
  <Section label="HiddenFields" name="supportSection">
    <Attributes>
      <Map>
        <entry key="hidden" value="true"/>
      </Map>
    </Attributes>
    <Field displayType="textarea" name="formValidationField" type="string">
      <Attributes>
        <Map>
          <entry key="hidden">
            <value>
              <Script>
                <Source>
                  <![CDATA[
                    import java.util.Iterator;

                    import sailpoint.object.Form;
                    import sailpoint.object.Form.Button;
                    import sailpoint.object.Field;
                    import sailpoint.tools.Util;

                    //custom script to make Form read only
                    //check here if end user is work item owner or member of owner workgroup

                    boolean userAuthorized  = false;
                    if (bulkProcessOperation.equals(BULK_CREATE)) {
                      userAuthorized  = customClass.hasPermission(identityName, SPRIGHT_BULK_CREATE_IDENTITY);
                    } else if (bulkProcessOperation.equals(ProgUtil.BULK_EDIT_IDENTITY)) {
                      userAuthorized  = customClass.hasPermission(identityName, SPRIGHT_BULK_EDIT_IDENTITY);
                    }

                    if (!userAuthorized) {
                      Iterator iterator = form.iterateFields();
                      while (iterator.hasNext()) {
                        Field field = iterator.next();
                        field.setReadOnly(true);
                      }

                      List buttons = form.getButtons();
                      for (Button button : Util.safeIterable(buttons)) {
                        if (!Util.nullSafeEq(button.getAction(), "cancel")) {
                          button.setReadOnly(true);
                        }
                      }
                    }
                    return true;
                  ]]>
                </Source>
              </Script>
            </value>
          </entry>
        </Map>
      </Attributes>
    </Field>
  </Section>
  <Section name="file path details">
    <Field displayName="File name" helpKey="Enter the .csv file name(with extension)" name="fileName" required="true" type="string">
      <ValidationScript>
        <Source>
          <![CDATA[
            import sailpoint.tools.Util;
            import customClass;

            if (value.length() > 4) {
              String fileExtension = value.substring(value.length() - 4);
              if(!(Util.nullSafeCaseInsensitiveEq(fileExtension, ".csv"))){
                return "The file type should be .csv. Enter the correct file name.";
              }
            } else {
              return "Enter the .csv file name(with extension)";
            }

            return customClass.validateFile(value, identityName, bulkProcessOperation, Util.otoi(duplicateThreshold), context);
          ]]>
        </Source>
      </ValidationScript>
    </Field>
  </Section>
</Form>

Looks like a bug in 8.3P3. While I was going through the upgrade cycle, we found that the issue started happening right after the update to 8.3 P3.
Will create a defect in support portal and will update what the support team has to say.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.