fix: define some required fields
fix: update sidenav structure; improve form data validation before submit