Do not validate optional survey

Do not validate optional survey.

See: https://github.com/ansible/awx/issues/9176
This commit is contained in:
nixocio
2021-04-01 15:58:18 -04:00
parent 91c2f80e22
commit eda9bcbf62
2 changed files with 6 additions and 3 deletions

View File

@@ -54,8 +54,8 @@ SurveyStep.propTypes = {
function TextField({ question, i18n }) { function TextField({ question, i18n }) {
const validators = [ const validators = [
question.required ? required(null, i18n) : null, question.required ? required(null, i18n) : null,
question.min ? minLength(question.min, i18n) : null, question.required && question.min ? minLength(question.min, i18n) : null,
question.max ? maxLength(question.max, i18n) : null, question.required && question.max ? maxLength(question.max, i18n) : null,
]; ];
return ( return (
<FormField <FormField
@@ -124,7 +124,7 @@ function MultiSelectField({ question, i18n }) {
const [isOpen, setIsOpen] = useState(false); const [isOpen, setIsOpen] = useState(false);
const [field, meta, helpers] = useField({ const [field, meta, helpers] = useField({
name: `survey_${question.variable}`, name: `survey_${question.variable}`,
validate: question.isrequired ? required(null, i18n) : null, validate: question.required ? required(null, i18n) : null,
}); });
const id = `survey-question-${question.variable}`; const id = `survey-question-${question.variable}`;
const hasActualValue = !question.required || meta.value?.length > 0; const hasActualValue = !question.required || meta.value?.length > 0;

View File

@@ -5,6 +5,9 @@ export default function getSurveyValues(values) {
if (Array.isArray(values[key]) && values[key].length === 0) { if (Array.isArray(values[key]) && values[key].length === 0) {
return; return;
} }
if (key.startsWith('survey_') && values[key] === '') {
return;
}
surveyValues[key.substr(7)] = values[key]; surveyValues[key.substr(7)] = values[key];
} }
}); });