Better handling of namespace validation to fix a number of issues
- Fixes a bug which allows for underscores at the beginning of namespaces: Fixes #1849 - Allows dots and dashes for newer Docker clients: Fixes #1188 - Has the UI display better messaging associated with namespace entry
This commit is contained in:
parent
efbbeeb07f
commit
3a68740ff7
11 changed files with 126 additions and 21 deletions
5
static/directives/namespace-input.html
Normal file
5
static/directives/namespace-input.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<span class="namespace-input-element">
|
||||
<input type="text" class="form-control" placeholder="{{ namespaceTitle }}" ng-model="binding"
|
||||
required autofocus ng-pattern="usernamePattern"
|
||||
name="namespaceField">
|
||||
</span>
|
|
@ -9,7 +9,16 @@
|
|||
|
||||
<form class="form-signup" name="signupForm" ng-submit="register()" ng-show="!awaitingConfirmation && !registering">
|
||||
<label for="username">Username:</label>
|
||||
<input type="text" class="form-control" placeholder="Requested username" name="username" ng-model="newUser.username" autofocus required ng-pattern="/^[a-z0-9_]{4,30}$/">
|
||||
<span class="namespace-input" binding="newUser.username" is-back-incompat="isBackIncompat" namespace-title="Requested username"></span>
|
||||
|
||||
<div class="expandable" ng-class="{'expanded': isBackIncompat || (!signupForm.namespaceField.$error.required && signupForm.namespaceField.$invalid)}">
|
||||
<div class="co-alert co-alert-warning thin" ng-show="isBackIncompat">
|
||||
Usernames with dots or dashes are incompatible with Docker verion 1.8 or older
|
||||
</div>
|
||||
<div class="co-alert co-alert-danger thin" ng-show="!signupForm.namespaceField.$error.required && signupForm.namespaceField.$invalid">
|
||||
Usernames must be alphanumeric and be at least four characters in length
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label for="email">E-mail address:</label>
|
||||
<input type="email" class="form-control" placeholder="Your email address" name="email" ng-model="newUser.email" required>
|
||||
|
@ -20,6 +29,8 @@
|
|||
<input type="password" class="form-control" placeholder="Verify your password" ng-model="newUser.repeatPassword"
|
||||
match="newUser.password" required
|
||||
ng-pattern="/^.{8,}$/">
|
||||
|
||||
|
||||
<button id="signupButton"
|
||||
class="btn btn-primary btn-block landing-signup-button" ng-disabled="signupForm.$invalid" type="submit"
|
||||
analytics-on analytics-event="register">
|
||||
|
|
Reference in a new issue