Yes, that is a great technique. A sure way to get hated around the company water cooler is to make users fill out 100 fields before they can save. It's very unfair to the user experience. So as you suggest, a better way is to put a field at the top of the form for warnings or exceptions - whatever you call it and then using a form rule do not allow them to Submit (ie flag the record is being ready for the next step) until they clear the warnings. You can use form rules to hide the warning field if its blank to close up the space.
Here is an example of such a warning. this would be a formula Rich Text field.
var text Exceptions =
List("<br>",
If(Trim([Project Name])="","Missing Project Name"),
If(Trim([Channel])="","Missing Channel"),
If(Trim([Company])="","Enter your Company"),
If(Trim([Branch])="", "Missing Branch"),
If(Trim([Account#])="", "Missing Account#"),
If(Trim([Territory Sales Rep Code])="", "Missing Sales Rep"),
If(Trim([Project City, Prov])="", "Missing Project City, Prov"),
If(Trim([Cost Centre])="", "Missing Cost Centre"),
If(Trim([Attention:])="", "Missing Dealer Attention Name"),
If(Trim([Attn. Email:])="", "Dealer Attention Email"),
If(ToText([Suggested Resale to Dealer ($)])="0", "Missing Suggsted Resale to Dealer"),
If(Trim([Volume Opportunity])="", "Missing Volume Opportunity Detail"),
If(ToText([Competitor Price ($)])="0", "Missing Competitor Price"),
If(ToText([Expected Ship Date])="", "Missing Expected Ship Date"),
If(Trim([Delivery Terms])="", "Missing Delivery Terms"),
If([# of Missing CSP Product Descriptions] > 0, "Some Attributes are Missing Descriptions"),
If([Pictures or Samples?]="", "Please specify if sending Samples or Pictures in Attributes Section"),
If( (Contains([Pictures or Samples?], "Both") or Contains([Pictures or Samples?], "Pictures")) and [# of Pictures Attached]=0, "Please attach Missing Pictures under Project Notes / Docs / Pictures Tab"),
If([Sort of Status Choice]=7 and Nz([Price for Customer Acknowledgement Form])=0, "Price for Customer Acknowledgement is Missing"),
If([Sort of Status Choice]=11 and ([Item # Setup by MFA])="", "Missing Product Code")
)
;
If(Trim($Exceptions) <>""
"<font color=Blue><b>The submit button will appear in View mode when the Warnings are cleared</b><font color=Red><br>" & $Exceptions )
------------------------------
Mark Shnier (YQC)
Quick Base Solution Provider
Your Quick Base Coach
http://QuickBaseCoach.commarkshnier2@gmail.com
------------------------------