data: reject invalid data rows before they hit the db