I have the following logic written on a date field called Trapping Start Date:
Editable: Trapping Start Date is editable if Baiting Start date is not blank
Required: Trapping Start Date is required if Site Status = Trapping
Essentially, I am trying to prevent staff from entering a trapping start date if they have not entered prior information about baiting. Therefore, they should not be able to submit trapping data if baiting data has not been entered. Given the logic above, it should work.
When I try to submit a Trapping record with no prior data, the Trapping Start Date is not editable (good!) but if I try to click submit, the record will submit anyways, even though Trapping Start Date is a required field.
Has anyone else had this issue or know of any work arounds? I am having this issue on 3 different fields where I have editable logic dependent on another field being 'is not empty'.
ArcGIS Field Maps enforces required fields only if they are editable at the time of submission.
So in your case:
• Trapping Start Date is not editable because Baiting Start Date is blank
• But because it's not editable, Field Maps does not enforce it as required, even though
Site Status = Trapping
This means users can submit a record with Site Status = Trapping and no Trapping Start Date, which breaks your intended workflow.
There are perhaps a few things you could look into to help work around this:
1. Use Conditional Visibility Instead of Editability
Instead of disabling the field, try hiding it when Baiting Start Date is blank:
• Set Visibility: Baiting Start Date is not blank
• Keep Editable: Always editable
• Set Required: Site Status = Trapping
This way:
• The field is hidden unless baiting data is present
• When visible, it’s editable and required
• When hidden, it’s not enforced—but users won’t see it anyway
This avoids the logic conflict between “not editable” and “required.”
2. Use Arcade Expression for Validation
If you need stricter control, consider using an Arcade expression in a calculated field or validation rule (if supported in your environment) to flag invalid submissions. For example:
if ($feature.SiteStatus == 'Trapping' && IsEmpty($feature.BaitingStartDate)) {
return "Cannot submit trapping data without baiting start date.";
}
This won’t block submission directly, but it can be used to trigger alerts or QA flags.
I hope this helps in some way
Thanks so much for this information.
When I tried the line of Arcade you provided in the calculated expressions in Smart Forms, on the mobile interface it did block the form from being submitted if entered incorrectly (good!). However, when the order of data was submitted correctly (when baiting start date was entered first), then Trapping Start Date was not able to be edited. I assume this is because if a calculated expression is placed on a field then it is not edited? Any ideas on a work around on this?
If TrappingStartDate is not editable, you're controlling that with an expression or a checkbox in Field Maps Designer. Sounds like that needs sorted out.
As for the preventing data entry, I would do it with visibility.
vis_trappingStartDate = if (IsEmpty($feature.Baiting Start date)) { return false }; return true;
The required expression would be identical, right? if Baiting Start Date is empty, return false. Else return true.
I would leave the field editable all the time.
@DanielFox1 wrote:ArcGIS Field Maps enforces required fields only if they are editable at the time of submission.
Is there documentation on this? We're using Field Maps v 25.2.0 and this is not my experience.