import { useEffect, useState } from 'react' import propTypes from 'prop-types'; import MaximumLength from '@ckeditor/ckeditor5-react' import { categories, experience_levels } from '../consts'; import styles from '../style' import { CKEditor } from '@ckeditor/ckeditor5-react'; import ClassicEditor from '@ckeditor/ckeditor5-build-classic'; import ImageUpload from './ImageUpload'; import SkillsSelector from './SkillsSelector'; import Salary from './Salary'; import { placeholderImage } from '../assets'; import Button from './Button'; const StepTwoJoblisting = ({ nextStep, prevStep, handleChange, formData, setFormData, removeFields, skills }) => { const [editorData, setEditorData] = useState(''); const [imageSrc, setImageSrc] = useState(placeholderImage); const max_words = 500; const countWords = (text) => { return text.split(/\s/).filter(function(n) { return n != '' }).length; } const validateForm2 = () => { const { name, company_name, localization, content, min_salary, max_salary, work_from_home, employment_type, image, skill_levels } = formData; if (!name || !company_name || !localization || !content || !min_salary || !max_salary || !work_from_home || !employment_type || !image || !skill_levels) { return true; } } useEffect(() => { if (formData.content) { console.log(countWords(formData.content)) if (countWords(formData.content) > max_words) { alert('Maksymalna liczba słów wynosi 500') } } }, [formData.content]) const handleNextStep = () => { if (validateForm()) { console.log(errors) nextStep(); // Przejście do następnego kroku } else { alert('Proszę wypełnić wszystkie wymagane pola.'); // Wyświetl komunikat o błędzie } }; const errorStyleInput = 'border-red-600' const [errors, setErrors] = useState({}); const validateForm = () => { let newErrors = {}; if (countWords(formData.content) > max_words) { newErrors.content = 'Maksymalna liczba słów wynosi 600'; } // Sprawdź każde wymagane pole if (!formData.name) { newErrors.name = 'To pole jest wymagane'; } if (!formData.company_name) { newErrors.company_name = 'To pole jest wymagane'; } if (!formData.localization) { newErrors.localization = 'To pole jest wymagane'; } if (!formData.content) { newErrors.content = 'To pole jest wymagane'; } console.log(formData.require_salary) if (formData.require_salary === true) { console.log(formData.require_salary) if (!formData.min_salary) { newErrors.min_salary = 'To pole jest wymagane'; } if (!formData.max_salary) { newErrors.max_salary = 'To pole jest wymagane'; } } if (!formData.work_from_home) { newErrors.work_from_home = 'To pole jest wymagane'; } if (!formData.employment_type) { newErrors.employment_type = 'To pole jest wymagane'; } if (!formData.image) { newErrors.image = 'To pole jest wymagane'; } if (Object.keys(formData.skill_levels).length === 0) { newErrors.skill_levels = 'To pole jest wymagane'; } setErrors(newErrors); // Zwróć true, jeśli nie ma błędów return Object.keys(newErrors).length === 0; }; return ( <>
Dodajesz ogłoszenie z izaac.pl