diff --git a/src/components/Shared/ValidationErrorsInfoDialog.js b/src/components/Shared/ValidationErrorsInfoDialog.js index e9a55d6..9037281 100644 --- a/src/components/Shared/ValidationErrorsInfoDialog.js +++ b/src/components/Shared/ValidationErrorsInfoDialog.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import FlatButton from 'material-ui/FlatButton'; +import MaterialDialog from 'material-ui/Dialog'; import Dialog from './draggable-dialog'; import './draggable-dialog/css/index.css'; @@ -45,30 +46,49 @@ export class ValidationErrorsInfoDialog extends React.Component { />, ]; + const dialogContent = ( + this.props.errorMessages.map(errorMessage => { + const oneValidationMessage = ({errorMessage.message}
); + const oneValidationMessageWithTab = (
  • {errorMessage.message}
  • ); + + if (errorMessage.field_name === "password-tab") { + return oneValidationMessageWithTab; + } else { + return oneValidationMessage; + } + }) + ) + + const draggableDialog = + ( + + {dialogContent} + + + ) + + const normalDialog = + ({console.log("Backdrop")}} + actions={actions}> + + {dialogContent} + + + ) + return (
    - { - this.state.open && - - {this.props.errorMessages.map(errorMessage => { - const oneValidationMessage = ({errorMessage.message}
    ); - const oneValidationMessageWithTab = (
  • {errorMessage.message}
  • ); - - if (errorMessage.field_name === "password-tab") { - return oneValidationMessageWithTab; - } else { - return oneValidationMessage; - } - })} -
    - } + {this.state.open && this.props.draggable && draggableDialog } + {this.state.open && !this.props.draggable && normalDialog}
    ); } diff --git a/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js b/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js index 32fed93..963969d 100644 --- a/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js +++ b/src/routes/app/routes/forms/routes/visit/components/VerticalNonLinear.js @@ -1281,7 +1281,7 @@ class VerticalNonLinear extends React.Component {
    - +
    - + { } + getFormattedPhoneNumber(){ + if(this.state.phone_number && this.state.phone_number.length > 0) { + return this.state.phone_number.replace('+1','').replace('(','').replace(')','').replace('-','').replace(' ','').trim() + } + return ''; + } + + isPhoneNumberFormatValid() { + let formattedNumber = this.getFormattedPhoneNumber(); + return !isNaN(formattedNumber) && (formattedNumber.toString().length === 10); + } + buttonValidated = () => { let validated = true; if (!this.state.provider_name || this.state.provider_name === null || this.state.provider_name === "") validated = false; if (!this.state.provider_npi || this.state.provider_npi === null || this.state.provider_npi === "") validated = false; if (!this.state.email || this.state.email === null || this.state.email === "") validated = false; - if (!this.state.phone_number || this.state.phone_number === null || this.state.phone_number === "") validated = false; + if (!this.state.phone_number || this.state.phone_number === null || this.state.phone_number === "" || !this.isPhoneNumberFormatValid()) validated = false; if (!this.state.first || this.state.first === null || this.state.first === "") validated = false; if (!this.state.last || this.state.last === null || this.state.last === "") validated = false; - if (!this.state.password_validated || !this.state.pass || this.state.pass === null || this.state.pass === "") validated = false; + if (!this.state.pass || this.state.pass === null || this.state.pass === "") validated = false; + if (!this.state.passConfirmation || this.state.passConfirmation === null || this.state.passConfirmation === "") validated = false; if (!this.state.agreedTerms) validated = false; this.setState(Object.assign(this.state, { validated: validated })); } @@ -106,12 +119,10 @@ class SignUp extends React.Component { handlePass = (event) => { this.setState(Object.assign(this.state, { pass: btoa(event.target.value) })); - this.setState(Object.assign(this.state, { password_validated: this.state.pass === this.state.passConfirmation })); }; handleConfirmationPass = (event) => { this.setState(Object.assign(this.state, { passConfirmation: btoa(event.target.value) })); - this.setState(Object.assign(this.state, { password_validated: this.state.pass === this.state.passConfirmation })); }; handleChecked = (event, checked) => { @@ -121,6 +132,17 @@ class SignUp extends React.Component { clickEvent = (event) => { event.preventDefault(); + + if (this.state.passConfirmation !== this.state.pass){ + this.setState(Object.assign(this.state, { + showValidationErrors: true, + validationErrors: [{message:'Confirmed password does not match password'}] + })); + return; + } + + + const state = this; let user = {