Skip to content

Commit 4694915

Browse files
author
Ruben van Leeuwen
committed
2046: Code improvement getValidations function
1 parent d44f34a commit 4694915

File tree

1 file changed

+30
-18
lines changed
  • frontend/packages/pydantic-forms/src/core

1 file changed

+30
-18
lines changed

frontend/packages/pydantic-forms/src/core/helper.ts

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -239,28 +239,40 @@ export const getFieldValidation = (
239239
if (isNullable(schema)) {
240240
validation.isNullable = true;
241241
}
242-
243-
if (schema.type === PydanticFormFieldType.STRING) {
244-
if (schema.maxLength) validation.maxLength = schema.maxLength;
245-
if (schema.minLength) validation.minLength = schema.minLength;
246-
if (schema.pattern) validation.pattern = schema.pattern;
242+
const {
243+
maxLength,
244+
minLength,
245+
pattern,
246+
type,
247+
minimum,
248+
maximum,
249+
exclusiveMaximum,
250+
exclusiveMinimum,
251+
multipleOf,
252+
minItems,
253+
maxItems,
254+
uniqueItems,
255+
} = schema;
256+
257+
if (type === PydanticFormFieldType.STRING) {
258+
if (maxLength) validation.maxLength = maxLength;
259+
if (minLength) validation.minLength = minLength;
260+
if (pattern) validation.pattern = pattern;
247261
}
248262
if (
249-
schema.type === PydanticFormFieldType.NUMBER ||
250-
schema.type === PydanticFormFieldType.INTEGER
263+
type === PydanticFormFieldType.NUMBER ||
264+
type === PydanticFormFieldType.INTEGER
251265
) {
252-
if (schema.minimum) validation.minimum = schema.minimum;
253-
if (schema.maximum) validation.maximum = schema.maximum;
254-
if (schema.exclusiveMinimum)
255-
validation.exclusiveMinimum = schema.exclusiveMinimum;
256-
if (schema.exclusiveMaximum)
257-
validation.exclusiveMaximum = schema.exclusiveMaximum;
258-
if (schema.multipleOf) validation.multipleOf = schema.multipleOf;
266+
if (minimum) validation.minimum = minimum;
267+
if (maximum) validation.maximum = maximum;
268+
if (exclusiveMinimum) validation.exclusiveMinimum = exclusiveMinimum;
269+
if (exclusiveMaximum) validation.exclusiveMaximum = exclusiveMaximum;
270+
if (multipleOf) validation.multipleOf = multipleOf;
259271
}
260-
if (schema.type === PydanticFormFieldType.ARRAY) {
261-
validation.minItems = schema.minItems;
262-
validation.maxItems = schema.maxItems;
263-
validation.uniqueItems = schema.uniqueItems;
272+
if (type === PydanticFormFieldType.ARRAY) {
273+
validation.minItems = minItems;
274+
validation.maxItems = maxItems;
275+
validation.uniqueItems = uniqueItems;
264276
}
265277

266278
return validation;

0 commit comments

Comments
 (0)