back-end validation of forms