mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-02 16:49:48 +01:00
101 lines
6.3 KiB
HTML
101 lines
6.3 KiB
HTML
<div class="container-fluid container-fluid-custom" ng-controller="SignUpController as vm">
|
|
<div class="container container-custom">
|
|
<div class="row extend-height">
|
|
<div class="section">
|
|
<h1 class="col-md-12 col-md-offset-2 main-title title-color">// 'sign_up' | tr //</h1>
|
|
<div class="row">
|
|
<div class="col-md-12 col-md-offset-2 main-content">
|
|
<form name="form" class="form-horizontal css-form" ng-submit="form.$valid">
|
|
<div class="form-group">
|
|
<label for="username" class="col-sm-3 control-label">// 'username' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control" id="username" ng-model="user.username" name="uUsername" ng-model-options="{ updateOn: 'blur' }" required maxlength="20" invalid-chars user-exists data-target="username">
|
|
<div class="error-message" ng-messages="form.uUsername.$error" ng-if="form.uUsername.$touched">
|
|
<span ng-message="required">// 'username_is_required' | tr //</span>
|
|
<span ng-message="maxlength">// 'username_is_too_long' | tr //</span>
|
|
<span ng-message="invalidChars">// 'username_contains_illegal_chars' | tr //</span>
|
|
<span ng-message="userExists">// 'username_has_been_taken' | tr //</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email" class="col-sm-3 control-label">// 'email' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="email" class="form-control" id="email" ng-model="user.email" name="uEmail" ng-model-options="{ updateOn: 'blur' }" required user-exists data-target="email" maxlength="50">
|
|
<div class="error-message" ng-messages="form.uEmail.$error" ng-if="form.uEmail.$touched">
|
|
<span ng-message="required">// 'email_is_required' | tr //</span>
|
|
<span ng-message="email">// 'email_content_illegal' | tr //</span>
|
|
<span ng-message="userExists">// 'email_has_been_taken' | tr //</span>
|
|
<span ng-message="maxlength">// 'email_is_too_long' | tr //</span>
|
|
</div>
|
|
<p class="help-block small-size-fonts">// 'email_desc' | tr //</p>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="fullName" class="col-sm-3 control-label">// 'full_name' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control" id="fullName" ng-model="user.fullName" name="uFullName" ng-model-options="{ updateOn: 'blur' }" required maxlength="20" invalid-chars>
|
|
<div class="error-message" ng-messages="form.uFullName.$error" ng-if="form.uFullName.$touched">
|
|
<span ng-message="required">// 'full_name_is_required' | tr //</span>
|
|
<span ng-message="invalidChars">// 'full_name_contains_illegal_chars' | tr //</span>
|
|
<span ng-message="maxlength">// 'full_name_is_too_long' | tr //</span>
|
|
</div>
|
|
<p class="help-block small-size-fonts">// 'full_name_desc' | tr //</p>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="password" class="col-sm-3 control-label">// 'password' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="password" class="form-control" id="password" ng-model="user.password" name="uPassword" ng-model-options="{ updateOn: 'blur' }" required password>
|
|
<div class="error-message" ng-messages="form.uPassword.$error" ng-if="form.uPassword.$touched">
|
|
<span ng-message="required">// 'password_is_required' | tr //</span>
|
|
<span ng-message="password">// 'password_is_invalid' | tr //</span>
|
|
</div>
|
|
<p class="help-block small-size-fonts">// 'password_desc' | tr //</p>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="confirmPassword" class="col-sm-3 control-label">// 'confirm_password' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="password" class="form-control" id="confirmPassword" ng-model="user.confirmPassword" name="uConfirmPassword" ng-model-options="{ updateOn: 'blur' }" compare-to="user.password">
|
|
<div class="error-message" ng-messages="form.uConfirmPassword.$error" ng-if="form.uConfirmPassword.$touched">
|
|
<span ng-message="compareTo">// 'password_does_not_match' | tr //</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span class="asterisk">*</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="comments" class="col-sm-3 control-label">// 'comments' | tr //:</label>
|
|
<div class="col-sm-7">
|
|
<input type="text" class="form-control" id="comments" ng-model="user.comment" name="uComments" ng-model-options="{ updateOn: 'blur' }" maxlength="20">
|
|
<div class="error-message" ng-messages="form.uComments.$error" ng-if="form.uComments.$touched">
|
|
<span ng-show="maxlength">// 'comment_is_too_long' | tr //</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-md-offset-8 col-md-10">
|
|
<input type="submit" class="btn btn-success" ng-disabled="form.$invalid" ng-click="vm.signUp(user)" value="Sign Up">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |