I suspect you're doing something horrible involving rooting around in internal JSF data structures and yanking on data based on what you're referencing.
JSF validation is done for input control values when a form is submitted. If the item in question isn't an input control or isn't in the form that's being submitted (remember, a page can contain more than one form), then the input value will not be validated.
So if you have a table with 7 rows but your are only displaying 5 of them on the page, those 5 rows are the only ones whose data will pass through the validators. And, as I mentioned earlier, only data being input from the client. Outbound data never passes through the validators.
Customer surveys are for companies who didn't pay proper attention to begin with.
I understand that I only get say the 5 rows of inputs. I asked this because some inputs cannot be duplicated. So if I enter "abc" on page 1 then on page 2 there is another record with "abc". Under this circumstance, I suppose to inform the user there is duplication and fail the validation.
But now because the validation only process the current page's inputs, the validation returns true and save/update the database ending up duplicate records. :(