From 8bfc892f7c2cd40dfdf6de66073ce4640cf995b4 Mon Sep 17 00:00:00 2001 From: Dan Ribbens Date: Sun, 23 Aug 2020 16:49:51 -0400 Subject: [PATCH] radio field validation on options --- src/client/components/forms/field-types/RadioGroup/index.js | 4 ++-- src/fields/validations.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client/components/forms/field-types/RadioGroup/index.js b/src/client/components/forms/field-types/RadioGroup/index.js index 2efe7f2885..8e1b68f0f8 100644 --- a/src/client/components/forms/field-types/RadioGroup/index.js +++ b/src/client/components/forms/field-types/RadioGroup/index.js @@ -31,9 +31,9 @@ const RadioGroup = (props) => { const path = pathFromProps || name; const memoizedValidate = useCallback((value) => { - const validationResult = validate(value, { required }); + const validationResult = validate(value, { required, options }); return validationResult; - }, [validate, required]); + }, [validate, required, options]); const { value, diff --git a/src/fields/validations.js b/src/fields/validations.js index 08d79fac5e..a0d043952b 100644 --- a/src/fields/validations.js +++ b/src/fields/validations.js @@ -157,7 +157,7 @@ const optionsToValidatorMap = { return defaultMessage; }, radio: (value, options = {}) => { - if (value || !options.required) return true; + if ((value || !options.required) && (options.options.find((option) => option.value === value))) return true; return defaultMessage; }, blocks: (value, options) => {