Skip to content

Commit

Permalink
Pass questionAnswers to validateAnswer every single time #7
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewhathaway committed Sep 14, 2015
1 parent 7dc3959 commit 56cb9a0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
15 changes: 10 additions & 5 deletions src/lib/validation.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
var _ = require('lodash');
var Validator = require('validator');
var _ = require('lodash');
var Validator = require('validator');
var StringParser = require('./stringParser');

var extraValidators = {

Expand Down Expand Up @@ -32,7 +33,7 @@ var extraValidators = {
* @param object validationItem Rule set for validator
* @return boolean Valid?
*/
var validateAnswer = (value, validationItem) => {
var validateAnswer = (value, validationItem, questionAnswers) => {
var validationMethod = typeof extraValidators[validationItem.type] !== 'undefined'
? extraValidators[validationItem.type]
: Validator.hasOwnProperty(validationItem.type)
Expand Down Expand Up @@ -85,7 +86,9 @@ var getActiveQuestions = (questions, questionAnswers, activeQuestions) => {
return;
}

activeQuestions = getActiveQuestions(option.conditionalQuestions, questionAnswers, activeQuestions);
activeQuestions = getActiveQuestions(option.conditionalQuestions,
questionAnswers,
activeQuestions);
});

});
Expand Down Expand Up @@ -137,7 +140,9 @@ var getQuestionPanelInvalidQuestions = (questionSets, questionAnswers) => {
questionsToCheck
.forEach(({questionId, validations}) =>
[].forEach.bind(validations, validation => {
var valid = validateAnswer(questionAnswers[questionId], validation);
var valid = validateAnswer(questionAnswers[questionId],
validation,
questionAnswers);
if (valid) {
return;
}
Expand Down
4 changes: 3 additions & 1 deletion src/questionPanel.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ class QuestionPanel extends React.Component {
var questionValidationErrors = [];
validations
.forEach(validation => {
if (Validation.validateAnswer(questionAnswer, validation)) {
if (Validation.validateAnswer(questionAnswer,
validation,
this.props.questionAnswers)) {
return;
}

Expand Down

0 comments on commit 56cb9a0

Please sign in to comment.