Linkage rules not working for nested values in mobile view

*Describe the bug

In mobile view, linkage rules for sub forms do not work when the dependent field references a nested value.
For example:

  • Works: currentobj.fieldA
  • Does not work: currentobj.fieldA.fieldB

This issue occurs only in mobile view for sub forms. The same linkage works as expected in desktop view.


*Environment

  • NocoBase version: v1.8.15
  • Database type and version: PostGres 16
  • OS: MacOS
  • Deployment Method: Docker
  • Docker image version: nocobase/nocobase:v1.8.15
  • NodeJS version: (Not applicable for Docker, unless custom build)

*How To Reproduce

  1. Create a table with many to many field
  2. In the edit view of mobile, add a sub form for that m2m field.
  3. Add Field 1 in the sub form.
  4. Set its linkage rule to depend on currentobj.fieldA.fieldB.
  5. Open the form in mobile view.
  6. Change the value of fieldA.fieldB.

Result: The linkage rule does not trigger.


Expected behavior

The linkage rule should trigger for nested field dependencies (currentobj.fieldA.fieldB) in mobile view the same way it does in desktop view.


Screenshots


Logs

No API/server error logged during reproduction.

Hello, we have tested this on our side but could not reproduce the issue. Could you please try reproducing it in our demo environment?
https://a_td3mxhi2irf.v7.demo.nocobase.com/

Thanks for checking. The issue was that the field that I was checking (fieldB) wasn’t present in the view and hence it was not working. After adding it in the view, it started working.

May be the functionality can be enhanced to allow checking even when the field is not in the view.