JSFiddle - React, Tailwind, and code Playground

by hfougere

Babel + JSX

let question = {
        questions : [
            {value: "influenceFamily", label: "Parents/Family"},
            {value: "influenceFaculty", label: "Faculty/Staff at a former educational institution"},
            {value: "influenceFriends", label: "Friends"},
            {value: "influenceMentors", label: "Professional Mentors"},
            {value: "influenceOthers", label: "Others"}
        ],
        categoryName:'SURVEY_INFLUENCE',
        questionId: 'how-influential'};
        
question.options = [{code: "LEASTINF", displayValue: "Least influential"},
{code: "LESSINF", displayValue: "Less influential"},
{code: "SOMEWHATINF", displayValue: "Somewhat influential"},
{code: "INFLUENTIAL", displayValue: "Influential"},
{code: "MOSTINF", displayValue: "Most influential"},
{code: "NA", displayValue: "N/A"}];
        
        let data = {influenceFaculty: "LESSINF",influenceFamily: "LESSINF",influenceFriends: "LESSINF",influenceMentors: "LESSINF",influenceOthers: "LESSINF"};
       
       //const result = question.questions.filter(field => question.options.filter(option => option.code == data[field.value]).length > 0);
       
       //console.log(result.length == question.questions.length)
       
       let reg = {"name": "isRequired", "message": "This field is required."}
       let rules = [reg];
       
       
       console.log(rules.filter(option => option.name == "isRequired").length > 0)
       
					
       
       		let markRequired = true;
          let requiredRule = rules.filter(option => option.name == "isRequired");
          
          if (requiredRule.length > 0) {
          	requiredRule.disabled = !markRequired;
          } else {
          	rules.push({"name": "isRequired", "message": "This field is required.", "disabled": !markRequired  });
          }
       
       		let hasRule = rules.filter(option => option.name == "isRequired").length > 0
       		
          if (markRequired && hasRule) {
       			return; //already marked as...