Files
rubix-admin-panel/src/Validations/Validations.js
2024-05-07 12:47:06 +05:30

93 lines
3.5 KiB
JavaScript

import * as Yup from "yup";
export const validationSchema = Yup.object().shape({
name: Yup.string().required("Owner name is required"),
password: Yup.string().required("Password is required"),
});
export const addCommunitySchema = Yup.object().shape({
member_name: Yup.string().required("Name is required"),
designation: Yup.string().required("Designation is required"),
description: Yup.string().required("Description is required"),
linkedin: Yup.string().required("Linked In link is required"),
profile_image: Yup.mixed().required("Display picture is required"),
});
export const schemaEdit = Yup.object().shape({
member_name: Yup.string().required("Name is required"),
designation: Yup.string().required("Designation is required"),
description: Yup.string().required("Description is required"),
linkedin: Yup.string()
.url("Invalid LinkedIn URL")
.required("LinkedIn is required"),
});
export const addCommunityBannerSchema = Yup.object().shape({
heading: Yup.string().required("Name is required"),
sub_heading: Yup.string().required("Designation is required"),
CTO_button_title: Yup.string().required("Description is required"),
CTO_button_link: Yup.string().required("Linked In link is required"),
banner_image: Yup.mixed().required("Display picture is required"),
});
export const editCommunityBannerSchema = Yup.object().shape({
Heading: Yup.string().required("Name is required"),
sub_heading: Yup.string().required("Designation is required"),
CTO_button_title: Yup.string().required("Description is required"),
CTO_button_link: Yup.string()
.url("Invalid LinkedIn URL")
.required("LinkedIn is required"),
});
export const addBlogSchema = Yup.object().shape({
author_name: Yup.string().required("Author is required"),
author_designation: Yup.string().required("Author designation is required"),
title: Yup.string().required("Title is required"),
meta_description: Yup.string().required("Description is required"),
// content: Yup.string().required("Content is required"),
summary: Yup.string().required("Summary is required"),
});
export const addNews = Yup.object().shape({
title: Yup.string().required("Author is required"),
release_date: Yup.date().required("Release date is required"),
meta_description: Yup.string().required("Description is required"),
content: Yup.string().required("Content is required"),
banner_image: Yup.mixed()
.test("fileSize", "Image must be at least 2MB", (value) => {
// If no file uploaded, return true (validation passed)
if (!value) return true;
// Calculate file size in bytes
const fileSizeInBytes = value.size;
// Convert bytes to megabytes
const fileSizeInMB = fileSizeInBytes / (1024 * 1024);
// Check if file size is at least 2MB
return fileSizeInMB >= 10;
}).required("Banner image is required")
});
export const editNews = Yup.object().shape({
title: Yup.string(),
release_date: Yup.date(),
meta_description: Yup.string(),
content: Yup.string(),
banner_image: Yup.mixed()
// .test("fileSize", "Image must be at least 2MB", (value) => {
// // If no file uploaded, return true (validation passed)
// if (!value) return true;
// // Calculate file size in bytes
// const fileSizeInBytes = value.size;
// // Convert bytes to megabytes
// const fileSizeInMB = fileSizeInBytes / (1024 * 1024);
// // Check if file size is at least 2MB
// return fileSizeInMB >= 10;
// })
});