Validating a field on submit

I have a component that contains user picker field which is a required field. This component also has a submit button. Something like the code snippet below.

{



a!pickerFieldUsers(
label: "Request Owner",
maxSelections: 1,
groupFilter: cons!EEP_GRP_ESTIMATORS,
value: property(ri!request, "cdo_owner", null),
saveInto: ri!request.cdo_owner,
required: true,
showWhen: ri!request.status_id_fk <> cons!EEP_VAL_STATUS_COMPLETE
),



a!buttonArrayLayout(
buttons: {
a!buttonWidget(
label: " Submit for Review",
icon: "arrow-right",
saveInto: {
a!save(
ri!request.status_id_fk,
cons!EEP_VAL_STATUS_IN_REVIEW
),
rule!EEP_UT_saveAuditData(
createdBy: ri!request.created_by,
createdOn: ri!request.created_on,
lastModifiedOn: ri!request.last_modified_on,
lastModifiedBy: ri!request.last_modified_by
),
/*Save Audit History Data*/
{
a!save(
ri!auditHistoryUpdate.estimation_id,
ri!estimation.id_pk
),
a!save(
ri!auditHistoryUpdate.event_timestamp,
now()
),
a!save(
ri!auditHistoryUpdate.initiator_name,
loggedInUser()
)
},
a!save(ri!estimation.total_cost, ri!totalCost),
a!save(
ri!EEPdocumentsToAdd,
a!forEach(
items: ri!documentsToAdd,
expression: 'type!{urn:com:appian:types:EEP}EEP_documents'(
document_id: fv!item,
object_type_id_fk: cons!EEP_VAL_TYPE_ESTIMATION_ID
)
)
),
a!save(
ri!breakdownsToDelete,
{
rule!EEP_UT_getBreakdownsToDelete(
estimationBreakdown: ri!estimationModNew,
estimationGroup: ri!estimationGroupMod
),

a!save(ri!commentToAdd.created_on, now())
}
)
},
submit: true,
style: "PRIMARY"

}

),



}

Now, I'm calling this component inside a foreach loop in the parent form.

foreach(

items: myLocalVariable,

expression: rule!myExpressionRule(fv!item)

)

The problem is that if the field is blank in any of the loops then triggers the validation when the button on a different loop is pressed, in other words I have to populated the field for all instances of the loop before I can click a button. Is there a way to get around this and only trigger the validation only for the button/picker field I'm selecting?

  Discussion posts and replies are publicly visible