fix(app): autoscaling min validation [EE-6387] (#10945)

pull/10956/head
Ali 2024-01-15 14:34:16 +13:00 committed by GitHub
parent b3b7cfa77f
commit 3a959208a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 20 deletions

View File

@ -48,7 +48,7 @@ export function AutoScalingFormSection({
<Input <Input
id="min-instances" id="min-instances"
type="number" type="number"
min="0" min="1"
value={values.minReplicas} value={values.minReplicas}
max={values.maxReplicas || 1} max={values.maxReplicas || 1}
onChange={(e) => onChange={(e) =>

View File

@ -12,26 +12,25 @@ export function autoScalingValidation(
const { autoScalerOverflow } = validationData || {}; const { autoScalerOverflow } = validationData || {};
return object({ return object({
isUsed: boolean().required(), isUsed: boolean().required(),
minReplicas: number() minReplicas: number().when('isUsed', (isUsed: boolean) =>
.min(0, 'Minimum instances must be greater than 0.') isUsed
.when('isUsed', (isUsed: boolean) => ? number()
isUsed .required('Minimum instances is required.')
? number() .min(1, 'Minimum instances must be greater than 0.')
.required('Minimum instances is required.') .test(
.test( 'maxReplicas',
'maxReplicas', 'Minimum instances must be less than maximum instances.',
'Minimum instances must be less than maximum instances.', // eslint-disable-next-line func-names
// eslint-disable-next-line func-names function (this, value?: number): boolean {
function (this, value?: number): boolean { if (!value) {
if (!value) { return true;
return false;
}
const { maxReplicas } = this.parent as AutoScalingFormValues;
return !maxReplicas || value < maxReplicas;
} }
) const { maxReplicas } = this.parent as AutoScalingFormValues;
: number() return !maxReplicas || value < maxReplicas;
), }
)
: number()
),
maxReplicas: number().when('isUsed', (isUsed: boolean) => maxReplicas: number().when('isUsed', (isUsed: boolean) =>
isUsed isUsed
? number() ? number()