78b6d6624b
Javascript does not support the negative lookbehind assertion (?<!) used in the Ruby regex (to disallow usernames ending in `.git` or `.atom`. Getting the client side code to fully support this format is non-trivial, since we'd either have to heavily complicate the regex used, or modify the frontend code to support more complex validation schemes (it currently uses HTML5 validations). The pragmatic choice is to create a `Gitlab::Regex::NAMESPACE_REGEX_STR_SIMPLE` regex to serve as a Javascript-compatible version of `NAMESPACE_REGEX_STR`. The client-side code will not display an error for usernames ending in `.git` and `.atom`, but these will be caught by the server-side validation.
31 lines
1.7 KiB
Text
31 lines
1.7 KiB
Text
#register-pane.login-box{ role: 'tabpanel', class: 'tab-pane' }
|
|
.login-body
|
|
= form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f|
|
|
.devise-errors
|
|
= devise_error_messages!
|
|
%div.form-group
|
|
= f.label :name
|
|
= f.text_field :name, class: "form-control top", required: true, title: "This field is required."
|
|
%div.username.form-group
|
|
= f.label :username
|
|
= f.text_field :username, class: "form-control middle", pattern: Gitlab::Regex::NAMESPACE_REGEX_STR_SIMPLE, required: true, title: 'Please create a username with only alphanumeric characters.'
|
|
%p.validation-error.hide Username is already taken.
|
|
%p.validation-success.hide Username is available.
|
|
%p.validation-pending.hide Checking username availability...
|
|
%div.form-group
|
|
= f.label :email
|
|
= f.email_field :email, class: "form-control middle", required: true, title: "Please provide a valid email address."
|
|
.form-group.append-bottom-20#password-strength
|
|
= f.label :password
|
|
= f.password_field :password, class: "form-control bottom", required: true, pattern: ".{#{@minimum_password_length},}", title: "Minimum length is #{@minimum_password_length} characters."
|
|
%p.gl-field-hint Minimum length is #{@minimum_password_length} characters
|
|
%div
|
|
- if current_application_settings.recaptcha_enabled
|
|
= recaptcha_tags
|
|
%div
|
|
= f.submit "Register", class: "btn-register btn"
|
|
.clearfix.submit-container
|
|
%p
|
|
%span.light Didn't receive a confirmation email?
|
|
= succeed '.' do
|
|
= link_to "Request a new one", new_confirmation_path(resource_name)
|