Adds a check for email validity client-side when joining a team using a public link
Этот коммит содержится в:
@@ -1,7 +1,7 @@
|
|||||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||||
// See License.txt for license information.
|
// See License.txt for license information.
|
||||||
|
|
||||||
var utils = require('../utils/utils.jsx');
|
var Utils = require('../utils/utils.jsx');
|
||||||
var client = require('../utils/client.jsx');
|
var client = require('../utils/client.jsx');
|
||||||
var UserStore = require('../stores/user_store.jsx');
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
var BrowserStore = require('../stores/browser_store.jsx');
|
var BrowserStore = require('../stores/browser_store.jsx');
|
||||||
@@ -31,13 +31,26 @@ export default class SignupUserComplete extends React.Component {
|
|||||||
handleSubmit(e) {
|
handleSubmit(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
const providedEmail = React.findDOMNode(this.refs.email).value.trim();
|
||||||
|
if (!providedEmail) {
|
||||||
|
this.setState({nameError: '', emailError: 'This field is required', passwordError: ''});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Utils.isEmail(providedEmail)) {
|
||||||
|
this.setState({nameError: '', emailError: 'Please enter a valid email address', passwordError: ''});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.state.user.email = providedEmail;
|
||||||
|
|
||||||
this.state.user.username = React.findDOMNode(this.refs.name).value.trim().toLowerCase();
|
this.state.user.username = React.findDOMNode(this.refs.name).value.trim().toLowerCase();
|
||||||
if (!this.state.user.username) {
|
if (!this.state.user.username) {
|
||||||
this.setState({nameError: 'This field is required', emailError: '', passwordError: '', serverError: ''});
|
this.setState({nameError: 'This field is required', emailError: '', passwordError: '', serverError: ''});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var usernameError = utils.isValidUsername(this.state.user.username);
|
var usernameError = Utils.isValidUsername(this.state.user.username);
|
||||||
if (usernameError === 'Cannot use a reserved word as a username.') {
|
if (usernameError === 'Cannot use a reserved word as a username.') {
|
||||||
this.setState({nameError: 'This username is reserved, please choose a new one.', emailError: '', passwordError: '', serverError: ''});
|
this.setState({nameError: 'This username is reserved, please choose a new one.', emailError: '', passwordError: '', serverError: ''});
|
||||||
return;
|
return;
|
||||||
@@ -51,12 +64,6 @@ export default class SignupUserComplete extends React.Component {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.state.user.email = React.findDOMNode(this.refs.email).value.trim();
|
|
||||||
if (!this.state.user.email) {
|
|
||||||
this.setState({nameError: '', emailError: 'This field is required', passwordError: ''});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.state.user.password = React.findDOMNode(this.refs.password).value.trim();
|
this.state.user.password = React.findDOMNode(this.refs.password).value.trim();
|
||||||
if (!this.state.user.password || this.state.user.password .length < 5) {
|
if (!this.state.user.password || this.state.user.password .length < 5) {
|
||||||
this.setState({nameError: '', emailError: '', passwordError: 'Please enter at least 5 characters', serverError: ''});
|
this.setState({nameError: '', emailError: '', passwordError: 'Please enter at least 5 characters', serverError: ''});
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user