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...