added validation with custom error messages for project feature