mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
Username validation in signup and username change forms
This commit is contained in:
parent
c524e769d0
commit
79dfccf717
8 changed files with 95 additions and 32 deletions
|
@ -1,6 +1,7 @@
|
|||
Discourse.PreferencesUsernameController = Ember.ObjectController.extend Discourse.Presence,
|
||||
|
||||
taken: false
|
||||
invalid: false
|
||||
saving: false
|
||||
error: false
|
||||
|
||||
|
@ -8,8 +9,10 @@ Discourse.PreferencesUsernameController = Ember.ObjectController.extend Discours
|
|||
return true if @get('saving')
|
||||
return true if @blank('newUsername')
|
||||
return true if @get('taken')
|
||||
return true if @get('invalid')
|
||||
return true if @get('unchanged')
|
||||
).property('newUsername', 'taken', 'unchanged', 'saving')
|
||||
false
|
||||
).property('newUsername', 'taken', 'invalid', 'unchanged', 'saving')
|
||||
|
||||
unchanged: (->
|
||||
@get('newUsername') == @get('content.username')
|
||||
|
@ -17,10 +20,14 @@ Discourse.PreferencesUsernameController = Ember.ObjectController.extend Discours
|
|||
|
||||
checkTaken: (->
|
||||
@set('taken', false)
|
||||
@set('invalid', false)
|
||||
return if @blank('newUsername')
|
||||
return if @get('unchanged')
|
||||
Discourse.User.checkUsername(@get('newUsername')).then (result) =>
|
||||
@set('taken', true) unless result.available
|
||||
if result.errors
|
||||
@set('invalid', true)
|
||||
else if result.available == false
|
||||
@set('taken', true)
|
||||
).observes('newUsername')
|
||||
|
||||
saveButtonText: (->
|
||||
|
|
|
@ -23,6 +23,9 @@
|
|||
{{#if controller.taken}}
|
||||
{{i18n user.change_username.taken}}
|
||||
{{/if}}
|
||||
{{#if controller.invalid}}
|
||||
{{i18n user.change_username.invalid}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,6 +2,13 @@ window.Discourse.PreferencesUsernameView = Ember.View.extend
|
|||
templateName: 'user/username'
|
||||
classNames: ['user-preferences']
|
||||
|
||||
|
||||
didInsertElement: ->
|
||||
$('#change_username').focus()
|
||||
|
||||
keyDown: (e) ->
|
||||
if e.keyCode is 13
|
||||
unless @get('controller').get('saveDisabled')
|
||||
@get('controller').changeUsername()
|
||||
else
|
||||
e.preventDefault()
|
||||
return false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue