well when you build it dynamically, get a count for however many fields there are, and pass it using a hidden input or in the url to your processing page. On that page, get a count for $POST and compare it to your original count.
echo "Should be " . $_POST['original_count'] . " fields filled in.<br>";
echo "You filled out " . (count($_POST) - 1) . " fields<br>";
if((count($_POST) - 1) == $_POST['original_count']) {
echo "All fields were filled out";
} else {
echo "You didn't fill out all the fields";
}
Where original_count was passed as a hidden field (would equal how many form fields you created dynamically). Notice I subtracted 1 from that count. That's because if you pass your original count, that's one more value being passed that you don't want to include. Another solution is to just pass the original count in the url, then you wouldn't have to subtract 1, but keep in mind people could easily change the variable in the url then refresh.
Cgraz