prop validation