[WIP] Add client-side validation

- Validate inputs with HTML5 pattern attribute
- Highlight invalid inputs
- Re-add function to get Kloster ID after create
- Moved some functions