import { browserHistory } from 'react-router'; import { getInputValue } from './get-input-value'; let component; const _getUserData = () => { return { email: getInputValue( component, 'emailAddress', true ), password: getInputValue( component, 'password', true ), profile: { name: { first: getInputValue( component, 'firstName', true ), last: getInputValue( component, 'lastName', true ) } } }; }; const _handleSignup = () => { const user = _getUserData(); Accounts.createUser( user, ( error ) => { if ( error ) { Bert.alert( error.reason, 'danger' ); } else { browserHistory.push( '/' ); Bert.alert( 'Welcome!', 'success' ); } }); }; const _validate = () => { $( component.refs.signup ).validate({ rules: { firstName: { required: true }, lastName: { required: true }, emailAddress: { required: true, email: true }, password: { required: true, minlength: 6 } }, messages: { firstName: { required: 'First name?' }, lastName: { required: 'Last name?' }, emailAddress: { required: 'Need an email address here.', email: 'Is this email address legit?' }, password: { required: 'Need a password here.', minlength: 'Use at least six characters, please.' } }, submitHandler() { _handleSignup(); } }); }; export const handleSignup = ( options ) => { component = options.component; _validate(); };