Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!

The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.

Is there some circumstances that required doesn't work on the textfield of interface?

Certified Associate Developer

Hello,

I placed text field in the editable grid and applied required function.
When testing in the interface, the required function is well applied after clicking on submit button.
However, requried function does not apply when testing in the site page.

Are there specific conditions for required function to be applied on the site as well?

Could it be because I tried to use the required function in the record's summary?

Thank you.

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    It's possible that you have configured the button to ignore or skip validation.  It's possible that your input and the submit button are not in the same validation group.  Check these first and then we'll continue trying to isolate the problem (if that's not it).

  • 0
    Certified Associate Developer
    in reply to davel001150

    Hi, thank you for your advise,

    1. I have checked submit and validate for the button. (no configuration made to ignore or skip validation)

    2. There is no validation group made so every validation should be catched by the button.

    --sample code--

    {
    a!columnsLayout(
    columns: {
    a!columnLayout(
    contents: {
    a!gridLayout(
    label: "Sample Editable Grid",
    labelPosition: "ABOVE",
    headerCells: {
    a!gridLayoutHeaderCell(label: "ItemId"),
    a!gridLayoutHeaderCell(label: "ItemType"),
    a!gridLayoutHeaderCell(label: "ItemSize")
    },
    columnConfigs: {},
    rows: {
    a!forEach(
    items: ri!itemData,
    expression: {
    a!gridRowLayout(
    contents: {
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    value: fv!item,
    saveInto: fv!item,
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    ),
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    /*value: fv!item,*/
    /*saveInto: fv!item,*/
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    ),
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    /*value: fv!item,*/
    /*saveInto: fv!item,*/
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    )
    }
    )
    }
    )

    },
    selectionSaveInto: {},
    validations: {},
    shadeAlternateRows: true
    )
    }
    )
    }
    ),
    a!columnsLayout(
    columns: {
    a!columnLayout(
    contents: {}
    ),
    a!columnLayout(
    contents: {}
    ),
    a!columnLayout(
    contents: {
    a!buttonArrayLayout(
    buttons: {
    a!buttonWidget(
    label: "Button",
    submit: true,
    style: "NORMAL",
    validate: true
    )
    },
    align: "END"
    )
    }
    )
    }
    )
    }

    when testing on interface it works fine

    but with in site page

    the required validation doesn't work

Reply
  • 0
    Certified Associate Developer
    in reply to davel001150

    Hi, thank you for your advise,

    1. I have checked submit and validate for the button. (no configuration made to ignore or skip validation)

    2. There is no validation group made so every validation should be catched by the button.

    --sample code--

    {
    a!columnsLayout(
    columns: {
    a!columnLayout(
    contents: {
    a!gridLayout(
    label: "Sample Editable Grid",
    labelPosition: "ABOVE",
    headerCells: {
    a!gridLayoutHeaderCell(label: "ItemId"),
    a!gridLayoutHeaderCell(label: "ItemType"),
    a!gridLayoutHeaderCell(label: "ItemSize")
    },
    columnConfigs: {},
    rows: {
    a!forEach(
    items: ri!itemData,
    expression: {
    a!gridRowLayout(
    contents: {
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    value: fv!item,
    saveInto: fv!item,
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    ),
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    /*value: fv!item,*/
    /*saveInto: fv!item,*/
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    ),
    a!textField(
    label: "Text",
    labelPosition: "ABOVE",
    /*value: fv!item,*/
    /*saveInto: fv!item,*/
    refreshAfter: "UNFOCUS",
    required: true,
    validations: {}
    )
    }
    )
    }
    )

    },
    selectionSaveInto: {},
    validations: {},
    shadeAlternateRows: true
    )
    }
    )
    }
    ),
    a!columnsLayout(
    columns: {
    a!columnLayout(
    contents: {}
    ),
    a!columnLayout(
    contents: {}
    ),
    a!columnLayout(
    contents: {
    a!buttonArrayLayout(
    buttons: {
    a!buttonWidget(
    label: "Button",
    submit: true,
    style: "NORMAL",
    validate: true
    )
    },
    align: "END"
    )
    }
    )
    }
    )
    }

    when testing on interface it works fine

    but with in site page

    the required validation doesn't work

Children