Client-side validation

Mostly client-side stuff javascript files, urls.py, and views.py had to be changed