diff --git a/packages/builders/src/components/Assertions.ts b/packages/builders/src/components/Assertions.ts index 427367754..67b9b44fc 100644 --- a/packages/builders/src/components/Assertions.ts +++ b/packages/builders/src/components/Assertions.ts @@ -117,13 +117,26 @@ export const selectMenuStringPredicate = selectMenuBasePredicate input: minimum, }); - if (ctx.value.max_values !== undefined && ctx.value.options.length < ctx.value.max_values) { - addIssue('max_values', ctx.value.max_values); - } - if (ctx.value.min_values !== undefined && ctx.value.options.length < ctx.value.min_values) { addIssue('min_values', ctx.value.min_values); } + + if ( + ctx.value.min_values !== undefined && + ctx.value.max_values !== undefined && + ctx.value.min_values > ctx.value.max_values + ) { + ctx.issues.push({ + code: 'too_big', + message: `The maximum amount of options must be greater than or equal to the minimum amount of options`, + inclusive: true, + maximum: ctx.value.max_values, + type: 'number', + path: ['min_values'], + origin: 'number', + input: ctx.value.min_values, + }); + } }); export const selectMenuUserPredicate = selectMenuBasePredicate.extend({