}>
diff --git a/src/Pages/Admin/question/formUtil.ts b/src/Pages/Admin/question/formUtil.ts
index da9f3ee..59f488e 100644
--- a/src/Pages/Admin/question/formUtil.ts
+++ b/src/Pages/Admin/question/formUtil.ts
@@ -24,7 +24,7 @@ export const getValidationSchema = () => {
// validate input
return Yup.object().shape({
content_image: Yup.string().nullable(),
- content: Yup.string().required("validation.required").nullable(),
+ content: Yup.string().nullable(),
answers: Yup.array().of(
Yup.object().shape({
content: Yup.string().nullable(),
@@ -43,7 +43,16 @@ export const getValidationSchema = () => {
return hasCorrectAnswer && !haveImageOrContent ;
},
),
- });
+ }).test(
+ "content-or-image-required",
+ "At least one of content or content_image must be provided",
+ (obj:any) => {
+ const isValid = !!obj.content || !!obj.content_image;
+ console.log(isValid,"isValid");
+
+ return isValid;
+ }
+ );
};
export const getInitialValuesBase = (objectToEdit: Question): any => {
@@ -89,16 +98,16 @@ export const getValidationSchemaBase = () => {
// validate input
return Yup.object().shape({
content_image: Yup.string().nullable(),
- content: Yup.string().required("validation.required"),
+ content: Yup.string(),
Questions: Yup.array().of(
Yup.object().shape({
- image: Yup.string().nullable(),
- content: Yup.string().required("validation.required"),
+ content_image: Yup.string().nullable(),
+ content: Yup.string().nullable(),
answers: Yup.array()
.of(
Yup.object().shape({
- content: Yup.string().required("validation.required"),
- answer_image: Yup.string().nullable(),
+ content: Yup.string().nullable(),
+ content_image: Yup.string().nullable(),
isCorrect: Yup.boolean(),
}),
).min(2)
@@ -114,9 +123,24 @@ export const getValidationSchemaBase = () => {
return hasCorrectAnswer && !haveImageOrContent ;
},
),
- }),
+ }).test(
+ "content-or-image-required",
+ "At least one of content or content_image must be provided in question",
+ (obj:any) => {
+
+ const isValid = !!obj.content || !!obj.content_image;
+ return isValid;
+ }
+ ),
).min(1),
- });
+ }).test(
+ "content-or-image-required",
+ "At least one of content or content_image must be provided in base",
+ (obj:any) => {
+ const isValid = !!obj.content || !!obj.content_image;
+ return isValid;
+ }
+ );
};
export function processTags(DataToSend: any) {
diff --git a/src/Pages/Auth/FormField.tsx b/src/Pages/Auth/FormField.tsx
index 50ba4f1..8dd86ea 100644
--- a/src/Pages/Auth/FormField.tsx
+++ b/src/Pages/Auth/FormField.tsx
@@ -10,7 +10,6 @@ type FormFieldType = {
const FormField = ({ isLoading }: FormFieldType) => {
const [t] = useTranslation();
const {isValid} = useFormikContext();
- console.log(isValid,"isValid");
return (