With the setValue action on SharePoint/Microsoft Lists JSON formatting, people from the community are creating several solutions or use cases, including myself in the two samples: Quick Approvals and Like/Dislike.
The setValue action expands the possibilities of what we can do using list formatting, however, we need to bear in mind that, people are able to easily bypass the rules we implement if they either open the list item from the list form or from the quick edit view.
With a few tweaks, we can make it more difficult to happen. This post shows the tweaks on the previous Like/Dislike sample, but the idea can be easily reused in other cases.
1) Disable Quick Edit (Grid) View
By disabling the Quick Edit in views, people will have to interact with any custom button created or with the list forms to modify data.
To disable Quick Edit, navigate to the list settings page, and under advanced settings:

Disable quick editing:

2) Hide the fields from the List…
More About This Author

-
SharePoint and Office 365 Consultant/Developer always trying to get the best from Microsoft stack (Microsoft 365/Azure/Power Platform and related stuff).
Living in Ireland since 2018, I had previously worked in Brazil as a consultant/developer for Office 365, SharePoint and related technologies for almost 10 years.
Array
ModernWorkplace2022.06.08Updating list views JSON formatters for a SharePoint list using Power Automate
ModernWorkplace2022.05.19SharePoint lists custom View and Edit Buttons using JSON Formatting
ModernWorkplace2022.05.14Power Apps: Patch data from the Office 365 Users connector to a SharePoint multi-user field without using collect
ModernWorkplace2022.04.30Glossary View formatting: JSON Template including Related Link