diff --git a/imports/client/views/core/validations.js b/imports/client/views/core/validations.js index 819725b..109cd89 100644 --- a/imports/client/views/core/validations.js +++ b/imports/client/views/core/validations.js @@ -1,4 +1,9 @@ -export const isRequired = value => !value && 'Required' +export const isRequired = (fieldName, value) => { + console.log('isRequired', fieldName, value) + if (!value) { + return fieldName ? `${fieldName} is required` : 'Required' + } +} export const minLength = minLength => { return value => value && value.length < minLength && `Min. length: ${minLength}` diff --git a/imports/client/views/org/admin/students/AddStudentFormContainer.js b/imports/client/views/org/admin/students/AddStudentFormContainer.js index 6b87905..bd20ec2 100644 --- a/imports/client/views/org/admin/students/AddStudentFormContainer.js +++ b/imports/client/views/org/admin/students/AddStudentFormContainer.js @@ -28,7 +28,7 @@ export class AddStudentFormContainer extends Component { } handleSubmit() { - if (this.state.currentStep === 2) { + if (this.state.currentStep === 3) { addStudentManually.call(this.form.state.values) } } @@ -48,33 +48,32 @@ export class AddStudentFormContainer extends Component { values={values} ref={validator => this.validator = validator} validations={{ - admissionId: [isRequired], - firstName: [isRequired], - middleName: [isRequired], - lastName: [isRequired], - email: [isRequired, isValidEmail], - dob: [isRequired], - formattedDob: [isRequired], - gender: [isRequired], - rollNo: [(value) => this.state.currentStep === 1 && isRequired(value)], - class: [(value) => this.state.currentStep === 1 && isRequired(value)], - section: [(value) => this.state.currentStep === 1 && isRequired(value)], - community: [(value) => this.state.currentStep === 1 && isRequired(value)], - bloodGroup: [(value) => this.state.currentStep === 1 && isRequired(value)], - phone: [(value) => this.state.currentStep === 1 && isRequired(value)], - address: [(value) => this.state.currentStep === 1 && isRequired(value)], - city: [(value) => this.state.currentStep === 1 && isRequired(value)], - state: [(value) => this.state.currentStep === 1 && isRequired(value)], - parentName: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentEmail: [(value) => this.state.currentStep === 2 && isRequired(value), (value) => this.state.currentStep === 2 && isValidEmail(value)], - relation: [(value) => this.state.currentStep === 2 && isRequired(value)], - profession: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentGender: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentPhone: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentAddress: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentCity: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentState: [(value) => this.state.currentStep === 2 && isRequired(value)], - parentZipcode: [(value) => this.state.currentStep === 2 && isRequired(value)], + admissionId: [(value) => isRequired('Admission id', value)], + firstName: [(value) => isRequired('First name', value)], + middleName: [(value) => isRequired('Middle name', value)], + lastName: [(value) => isRequired('Last name', value)], + email: [(value) => isRequired('Email', value), isValidEmail], + dob: [(value) => isRequired('Date of birth', value)], + gender: [(value) => isRequired('Gender', value)], + rollNo: [(value) => this.state.currentStep === 1 && isRequired('Roll no', value)], + class: [(value) => this.state.currentStep === 1 && isRequired('Class', value)], + section: [(value) => this.state.currentStep === 1 && isRequired('Section', value)], + community: [(value) => this.state.currentStep === 1 && isRequired('Community', value)], + bloodGroup: [(value) => this.state.currentStep === 1 && isRequired('Blood group', value)], + phone: [(value) => this.state.currentStep === 1 && isRequired('Phone', value)], + address: [(value) => this.state.currentStep === 2 && isRequired('Address', value)], + city: [(value) => this.state.currentStep === 2 && isRequired('City', value)], + state: [(value) => this.state.currentStep === 2 && isRequired('State', value)], + parentName: [(value) => this.state.currentStep === 3 && isRequired('Parent name', value)], + parentEmail: [(value) => this.state.currentStep === 3 && isRequired('Parent email', value), (value) => this.state.currentStep === 3 && isValidEmail(value)], + relation: [(value) => this.state.currentStep === 3 && isRequired('Relation', value)], + profession: [(value) => this.state.currentStep === 3 && isRequired('Profession', value)], + parentGender: [(value) => this.state.currentStep === 3 && isRequired('Parent gender', value)], + parentPhone: [(value) => this.state.currentStep === 3 && isRequired('Parent phone', value)], + parentAddress: [(value) => this.state.currentStep === 3 && isRequired('Parent address', value)], + parentCity: [(value) => this.state.currentStep === 3 && isRequired('Parent city', value)], + parentState: [(value) => this.state.currentStep === 3 && isRequired('Parent state', value)], + parentZipcode: [(value) => this.state.currentStep === 3 && isRequired('Parent zip code', value)], }} > {({ errors }) => ( diff --git a/imports/client/views/org/admin/students/StudentForm.js b/imports/client/views/org/admin/students/StudentForm.js index e8703f4..df7b650 100644 --- a/imports/client/views/org/admin/students/StudentForm.js +++ b/imports/client/views/org/admin/students/StudentForm.js @@ -20,12 +20,16 @@ const StudentForm = props => ( active: props.currentStep === 0, }, { - label: 'Address', + label: 'Academic', active: props.currentStep === 1, }, { - label: 'Parent info', + label: 'Address', active: props.currentStep === 2, + }, + { + label: 'Parent info', + active: props.currentStep === 3, } ]} /> @@ -127,7 +131,7 @@ const StudentForm = props => ( - + ( )} {props.currentStep === 1 && ( -
- Address +
+ Academic @@ -237,6 +241,11 @@ const StudentForm = props => ( +
+ )} + {props.currentStep === 2 && ( +
+ Address @@ -285,7 +294,7 @@ const StudentForm = props => (
)} - {props.currentStep === 2 && ( + {props.currentStep === 3 && (
Parent information @@ -351,7 +360,7 @@ const StudentForm = props => ( - + ( )} - {props.currentStep < 2 && ( + {props.currentStep < 3 && (
)} - {props.currentStep === 2 && ( + {props.currentStep === 3 && (