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) => {