diff --git a/src/components/Shared/ValidationErrorsInfoDialog.js b/src/components/Shared/ValidationErrorsInfoDialog.js
new file mode 100644
index 0000000..c42fd6f
--- /dev/null
+++ b/src/components/Shared/ValidationErrorsInfoDialog.js
@@ -0,0 +1,59 @@
+import React, { Component } from 'react';
+import Dialog from 'material-ui/Dialog';
+import FlatButton from 'material-ui/FlatButton';
+
+export class ValidationErrorsInfoDialog extends React.Component {
+
+ state = {
+ open: this.props.open,
+ }
+
+ componentWillReceiveProps(newProps){
+ this.setState({open: newProps.open});
+ }
+
+ handleOpen = () => {
+ this.setState({ open: true });
+ };
+
+ handleClose = () => {
+ this.setState({ open: false });
+ this.props.onDismiss();
+ };
+
+ render() {
+
+ const actions = [
+ ,
+ ];
+
+ return (
+
+
+
+ );
+ }
+ }
+
+ module.exports = ValidationErrorsInfoDialog;
\ No newline at end of file
diff --git a/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js b/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js
index 480b70d..01c4470 100644
--- a/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js
+++ b/src/routes/app/routes/forms/routes/steppers/components/VerticalNonLinear.js
@@ -30,6 +30,7 @@ import Close from 'material-ui/svg-icons/navigation/close'
import CommunicationCall from 'material-ui/svg-icons/communication/call'
import Message from 'material-ui/svg-icons/communication/message'
import Instance from '../../../../../../../components/Connection';
+import ValidationErrorsInfoDialog from '../../../../../../../components/Shared/ValidationErrorsInfoDialog';
import Checkbox from 'material-ui/Checkbox';
import Popover from 'material-ui/Popover';
@@ -41,60 +42,6 @@ const roundingTime = 1000 * 60 * 5; //5 minutes
DateTimeFormat = global.Intl.DateTimeFormat;
-export class ValidationErrorsInfoDialog extends React.Component {
-
- state = {
- open: this.props.open,
- }
-
- componentWillReceiveProps(newProps){
- this.setState({open: newProps.open});
- }
-
- handleOpen = () => {
- this.setState({ open: true });
- };
-
- handleClose = () => {
- this.setState({ open: false });
- this.props.onDismiss();
- };
-
- render() {
-
- const actions = [
- ,
- ];
-
- return (
-
-
-
- );
- }
-}
-
export class DialogExampleSimple extends React.Component {
state = {
diff --git a/src/routes/app/routes/pages/routes/eligibility/components/eligibility.js b/src/routes/app/routes/pages/routes/eligibility/components/eligibility.js
index f922094..ab0a29e 100644
--- a/src/routes/app/routes/pages/routes/eligibility/components/eligibility.js
+++ b/src/routes/app/routes/pages/routes/eligibility/components/eligibility.js
@@ -14,6 +14,7 @@ import RaisedButton from 'material-ui/RaisedButton';
import SelectField from 'material-ui/SelectField';
import Checkbox from 'material-ui/Checkbox';
import Instance from '../../../../../../../components/Connection';
+import ValidationErrorsInfoDialog from '../../../../../../../components/Shared/ValidationErrorsInfoDialog';
class SignUp extends React.Component {
constructor(props) {
@@ -34,7 +35,9 @@ class SignUp extends React.Component {
gender: null,
agreedTerms: false,
validated: false,
- memberType:"S"
+ memberType:"S",
+ showValidationErrors: false,
+ validationErrors:[]
}
componentDidMount = () => {
@@ -58,7 +61,10 @@ class SignUp extends React.Component {
"member": this.state.member,
"email": this.state.email,
"phonenumber": this.state.phonenumber,
- "birthdate": this.state.birthdate.toISOString()
+ "birthdate": this.state.birthdate.toISOString(),
+ "consent" : this.state.agreedTerms,
+ "type": this.state.memberType
+
// "eligibility": {
// "tracking_id": "1234567",
// "payer": {
@@ -99,9 +105,14 @@ class SignUp extends React.Component {
// alert('NO benefits found for this member');
// }
}).catch(function (err) {
- console.log('Error to get eligibility: ', err);
- alert('NO benefits found for this member');
- this.handleRequestClose();
+ if (err.response.status === 422){
+ //Unprocessable Entity (validation failed)
+ state.setState(Object.assign(state.state, {showValidationErrors:true, validationErrors:err.response.data.data}))
+ }else{
+ console.log('Error to get eligibility: ', err);
+ alert('NO benefits found for this member');
+ this.handleRequestClose();
+ }
});
}
@@ -173,10 +184,15 @@ class SignUp extends React.Component {
this.setState(Object.assign(this.state, { validated: validated }));
}
+ handleValidationErrosDialogDismiss(){
+ this.setState(Object.assign(this.state, {showValidationErrors:false}));
+ }
+
render() {
return (