extends ../layout block content .jumbotron.text-center h2 Sign up with an email address here: form.form-horizontal(method='POST', action='/email-signup', name="signupForm", novalidate="novalidate") input(type='hidden', name='_csrf', value=_csrf) .form-group h3 .col-sm-6.col-sm-offset-3 input.form-control(type='email', ng-model='email', ng-keypress='', name='email', id='email', placeholder='email', autofocus, required, autocomplete="off", unique-email='') .col-sm-3(ng-show="signupForm.email.$error.unique && !signupForm.email.$pristine") alert(type='danger') span.ion-close-circled | This email is taken. .form-group .col-sm-6.col-sm-offset-3 input.form-control(type='text', name='username', ng-keypress='', autocomplete="off", id='username', placeholder='username', ng-model='username', unique-username='', required, ng-minlength=5, ng-maxlength=20) .col-sm-6.col-sm-offset-3(ng-show="signupForm.username.$error.unique && !signupForm.username.$pristine") alert(type='danger') span.ion-close-circled | This username is taken. .col-sm-6.col-sm-offset-3(ng-show="signupForm.username.$error.minlength && !signupForm.username.$pristine") alert(type='danger') span.ion-close-circled | Usernames must be at least 5 characters. .col-sm-6.col-sm-offset-3(ng-show="signupForm.username.$error.maxlength && !signupForm.username.$pristine") alert(type='danger') span.ion-close-circled | Usernames must be 20 characters or less. .form-group .col-sm-6.col-sm-offset-3 input.form-control(type='password', ng-model='password', name='password', id='password', placeholder='password', required) .form-group .col-sm-6.col-sm-offset-3 input.form-control(type='password', ng-model='confirmPassword', name='confirmPassword', id='confirmPassword', placeholder='confirm password', required) .form-group .col-sm-offset-3.col-sm-6 button.btn.btn-success(type='submit') span.ion-person-add | Signup br br br br br br br br br