Define required fields at form level rather than object level

Toggle required fields at form level.

I have found that the same field might be required or not according to the context of the form, rather than according to a global setting.

This could be accomplished also by extending the Field Rules. If condition X is true (including an "always" option), then make field Y required.

I am very on board with this feature.

For anyone looking for a quick-fix workaround, this is what we came up with for our field usage:

  1. Let's say we're creating a uniform request system, and two types of users submit requests- Managers and Recruiters. In this system, we need to make sure every uniform request is attached to a user account.
  2. When a manager submits a request, we assign the account to the submission and change our multiple choice Status field to "Submitted". It immediately pops up in our Uniform Requests table on our Logistics page.
  3. When a recruiter submits a uniform request, it gets the status "Presubmission". and gets added to a table the recruiter can see. The table has a column with a "Trigger Action" link labeled "Submit".
  4. If the uniform request has an assigned manager account, the link is visible. Once clicked, the record joins our manager submitted requests on the Logistics page.
  5. If the account ISN'T assigned, the link is set to hidden, meaning it can't be submitted. 

Incidentally, if you have objects that need sub-objects attached, you can have a Count field totaling the number of sub-objects, and only expose the submit link once the requisite sub-objects have been connected.
(I.E. - You have a disciplinary action form, and need attached supporting documents before the form is processed.)

Hope this gets implemented soon. It makes so much more sense to have required fields at the form level and not the object level.

We often make multiple versions of the same form and in some cases we want certain fields to be compulsory and in other cases they should be optional. Doing this at the object level forces all forms to have the field compulsory at the same time, which is not convenient.

Absolutely agree! 
The beauty of knack is having different users being able to use the same app. 
We may want a regular 'customer' user to be required to complete all fields when completing a form for say personal information, but for staff users they may not know all the details and therefore shouldnt be required to complete the same fields if they cant at that time. 
Thats just one example - but it would definitely be helpful to be able to set required status on a form basis rather than at an object level. 

I think it would be best to include a checkbox on the “Edit Input” pop-up in the builder to set the field as a required input for the form.  I attached a screen shot of what I mean…