Skip to content

Commit 6b946e8

Browse files
committed
add more checks on creation and modification interface (#2722)
Signed-off-by: Etienne LESOT <[email protected]>
1 parent 071d99d commit 6b946e8

File tree

14 files changed

+43
-27
lines changed

14 files changed

+43
-27
lines changed

src/components/dialogs/active-power-control/active-power-control-utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export const getActivePowerControlSchema = (isEquipmentModification = false) =>
2424
[DROOP]: yup
2525
.number()
2626
.nullable()
27+
.min(0, 'NormalizedPercentage')
28+
.max(100, 'NormalizedPercentage')
2729
.when([FREQUENCY_REGULATION], {
2830
is: (frequencyRegulation: boolean) => !isEquipmentModification && frequencyRegulation,
2931
then: (schema) => schema.required(),

src/components/dialogs/network-modifications/generator/creation/generator-creation-dialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ const formSchema = yup
114114
[ENERGY_SOURCE]: yup.string().nullable().required(),
115115
[MAXIMUM_ACTIVE_POWER]: yup.number().nullable().required(),
116116
[MINIMUM_ACTIVE_POWER]: yup.number().nullable().required(),
117-
[RATED_NOMINAL_POWER]: yup.number().nullable(),
117+
[RATED_NOMINAL_POWER]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
118118
[TRANSFORMER_REACTANCE]: yup.number().nullable(),
119119
[TRANSIENT_REACTANCE]: yup
120120
.number()

src/components/dialogs/network-modifications/generator/modification/generator-modification-dialog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ const formSchema = yup
130130
then: (schema) =>
131131
schema.max(yup.ref(MAXIMUM_ACTIVE_POWER), 'MinActivePowerMustBeLessOrEqualToMaxActivePower'),
132132
}),
133-
[RATED_NOMINAL_POWER]: yup.number().nullable(),
133+
[RATED_NOMINAL_POWER]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
134134
[TRANSIENT_REACTANCE]: yup.number().nullable(),
135135
[TRANSFORMER_REACTANCE]: yup.number().nullable(),
136136
[PLANNED_ACTIVE_POWER_SET_POINT]: yup.number().nullable(),

src/components/dialogs/network-modifications/hvdc-line/vsc/converter-station/converter-station-utils.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ export function getVscConverterStationModificationSchema(id: string) {
125125
[id]: yup.object().shape({
126126
[CONVERTER_STATION_ID]: yup.string(),
127127
[CONVERTER_STATION_NAME]: yup.string().nullable(),
128-
[LOSS_FACTOR]: yup.number().nullable(),
128+
[LOSS_FACTOR]: yup.number().nullable().min(0, 'NormalizedPercentage').max(100, 'NormalizedPercentage'),
129129
[VOLTAGE_REGULATION_ON]: yup.boolean().nullable(),
130130
[REACTIVE_POWER]: yup.number().nullable(),
131-
[VOLTAGE]: yup.number().nullable(),
131+
[VOLTAGE]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
132132
...getReactiveLimitsSchema(true),
133133
}),
134134
};

src/components/dialogs/network-modifications/hvdc-line/vsc/hvdc-line-pane/vsc-hvdc-line-pane-utils.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ export function getVscHvdcLinePaneSchema(id: string) {
2323
return {
2424
[id]: yup.object().shape(
2525
{
26-
[NOMINAL_V]: yup.number().nullable().required(),
27-
[R]: yup.number().nullable().required(),
26+
[NOMINAL_V]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
27+
[R]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
2828
[MAX_P]: yup.number().nullable().required(),
2929
[OPERATOR_ACTIVE_POWER_LIMIT_SIDE1]: yup.number().nullable(),
3030
[OPERATOR_ACTIVE_POWER_LIMIT_SIDE2]: yup.number().nullable(),
@@ -57,8 +57,8 @@ export function getVscHvdcLineModificationPaneSchema(id: string) {
5757
return {
5858
[id]: yup.object().shape(
5959
{
60-
[NOMINAL_V]: yup.number().nullable(),
61-
[R]: yup.number().nullable(),
60+
[NOMINAL_V]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
61+
[R]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
6262
[MAX_P]: yup.number().nullable(),
6363
[OPERATOR_ACTIVE_POWER_LIMIT_SIDE1]: yup.number().nullable(),
6464
[OPERATOR_ACTIVE_POWER_LIMIT_SIDE2]: yup.number().nullable(),

src/components/dialogs/network-modifications/line/characteristics-pane/line-characteristics-pane-utils.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@ import {
2424

2525
const characteristicsValidationSchema = (id, displayConnectivity, modification) => ({
2626
[id]: yup.object().shape({
27-
[R]: modification ? yup.number().nullable() : yup.number().nullable().required(),
27+
[R]: modification
28+
? yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero')
29+
: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
2830
[X]: modification ? yup.number().nullable() : yup.number().nullable().required(),
2931
[B1]: yup.number().nullable(),
30-
[G1]: yup.number().nullable(),
32+
[G1]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
3133
[B2]: yup.number().nullable(),
32-
[G2]: yup.number().nullable(),
34+
[G2]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
3335
...(displayConnectivity && getConnectivityWithPositionValidationSchema(false, CONNECTIVITY_1)),
3436
...(displayConnectivity && getConnectivityWithPositionValidationSchema(false, CONNECTIVITY_2)),
3537
}),

src/components/dialogs/network-modifications/static-var-compensator/creation/set-points-limits-form-utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export const getReactiveFormValidationSchema = () =>
7474
[VOLTAGE_SET_POINT]: yup
7575
.number()
7676
.nullable()
77+
.min(0, 'mustBeGreaterOrEqualToZero')
7778
.when([VOLTAGE_REGULATION_MODE], {
7879
is: (voltageRegulationMode: string) => voltageRegulationMode === VOLTAGE_REGULATION_MODES.VOLTAGE.id,
7980
then: (schema) => schema.required(),

src/components/dialogs/network-modifications/static-var-compensator/creation/standby-automaton-form-utils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ export const getStandbyAutomatonFormValidationSchema = () =>
8383
addStandbyAutomaton && voltageRegulationMode === VOLTAGE_REGULATION_MODES.VOLTAGE.id,
8484
then: (schema) => schema.required(),
8585
}),
86-
[LOW_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(yup.number()),
87-
[HIGH_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(yup.number()),
88-
[LOW_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(yup.number()),
89-
[HIGH_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(yup.number()),
86+
[LOW_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(yup.number().min(0, 'mustBeGreaterOrEqualToZero')),
87+
[HIGH_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(yup.number().min(0, 'mustBeGreaterOrEqualToZero')),
88+
[LOW_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(yup.number().min(0, 'mustBeGreaterOrEqualToZero')),
89+
[HIGH_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(yup.number().min(0, 'mustBeGreaterOrEqualToZero')),
9090
[B0]: requiredWhenSusceptanceChoice(yup.number().nullable()),
9191
[Q0]: requiredWhenQatNominalVChoice(yup.number().nullable()),
9292
});

src/components/dialogs/network-modifications/two-windings-transformer/characteristics-pane/two-windings-transformer-characteristics-pane-utils.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,21 @@ import yup from 'components/utils/yup-config';
1010

1111
const characteristicsValidationSchema = (isModification, additionalFields) => ({
1212
[CHARACTERISTICS]: yup.object().shape({
13-
[R]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
13+
[R]: isModification
14+
? yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero')
15+
: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
1416
[X]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
15-
[G]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
17+
[G]: isModification
18+
? yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero')
19+
: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
1620
[B]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
1721
[RATED_S]: yup.number().nullable().positive('RatedNominalPowerMustBeGreaterThanZero'),
18-
[RATED_U1]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
19-
[RATED_U2]: isModification ? yup.number().nullable() : yup.number().nullable().required(),
22+
[RATED_U1]: isModification
23+
? yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero')
24+
: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
25+
[RATED_U2]: isModification
26+
? yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero')
27+
: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
2028
...additionalFields,
2129
}),
2230
});

src/components/dialogs/network-modifications/voltage-level/creation/voltage-level-creation-dialog.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ const formSchema = yup
121121
[SUBSTATION_NAME]: yup.string().nullable(),
122122
[COUNTRY]: yup.string().nullable(),
123123
[SUBSTATION_CREATION]: creationPropertiesSchema,
124-
[NOMINAL_V]: yup.number().nullable().required(),
125-
[LOW_VOLTAGE_LIMIT]: yup.number().nullable(),
126-
[HIGH_VOLTAGE_LIMIT]: yup.number().nullable(),
124+
[NOMINAL_V]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero').required(),
125+
[LOW_VOLTAGE_LIMIT]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
126+
[HIGH_VOLTAGE_LIMIT]: yup.number().nullable().min(0, 'mustBeGreaterOrEqualToZero'),
127127
[LOW_SHORT_CIRCUIT_CURRENT_LIMIT]: yup
128128
.number()
129129
.nullable()

0 commit comments

Comments
 (0)