From 05224e78ecab6e28e42523ae1322cb30e64bd88d Mon Sep 17 00:00:00 2001 From: Vlad Frangu Date: Sun, 5 Oct 2025 18:28:34 +0300 Subject: [PATCH] fix(builders): correct assertion for select menu string min/max values (#11139) * fix(builders): correct assertion for select menu string min/max values * fix: actually fix the logic --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- .../builders/src/components/Assertions.ts | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) 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({