1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

added dynamic validation to edit form

This commit is contained in:
EnzoVezzaro 2022-09-28 07:15:14 -04:00
parent 236649c910
commit 35d3a548b6

View File

@ -1,11 +1,36 @@
import { FileInfo } from '@oceanprotocol/lib'
import { validateFieldSchaclSchema } from '@utils/schaclSchema'
import * as Yup from 'yup'
export const validationSchema = Yup.object().shape({
name: Yup.string()
.min(4, (param) => `Title must be at least ${param.min} characters`)
.required('Required'),
description: Yup.string().required('Required').min(10),
.required('Required')
.test(async (value, { path, createError }): Promise<any> => {
if (!value) return
const keyField = path.split('.')[0]
const valueField = path.split('.')[1]
return await validateFieldSchaclSchema(
keyField,
valueField,
value,
createError
)
}),
description: Yup.string()
.required('Required')
.test(async (value, { path, createError }): Promise<any> => {
if (!value) return
const keyField = path.split('.')[0]
const valueField = path.split('.')[1]
return await validateFieldSchaclSchema(
keyField,
valueField,
value,
createError
)
}),
price: Yup.number().required('Required'),
files: Yup.array<FileInfo[]>()
.of(
@ -24,7 +49,20 @@ export const validationSchema = Yup.object().shape({
)
.nullable(),
timeout: Yup.string().required('Required'),
author: Yup.string().nullable()
author: Yup.string()
.required('Required')
.test(async (value, { path, createError }): Promise<any> => {
if (!value) return
const keyField = path.split('.')[0]
const valueField = path.split('.')[1]
return await validateFieldSchaclSchema(
keyField,
valueField,
value,
createError
)
})
})
export const computeSettingsValidationSchema = Yup.object().shape({