When we use a grid, we also generally add a readonly bindable property called something like "HasBrokenRules" and hide the data column so that it doesn't show up in the grid. Then, when the user tries to save, we have the grid either filter or sort on that column so that all of the records with broken rules get grouped together so the user can quickly see the records they need to fix to allow them to save and close the form.