سطح: متوسط
امتیاز: ۲۰۰
مهارتهای لازم:
- آشنایی با
ReactJS
ظاهر کلی برنامه بدین صورت است:
پروژه اولیه
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلهای این پروژه به این صورت است
input-validation
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── __tests__
│ │ └── sample.test.js
│ ├── App.js
│ ├── index.css
│ ├── index.js
│ ├── input.js
│ └── validators.js
├── package-lock.json
└── package.json
راهاندازی پروژه
برای اجرای پروژه، باید NodeJS
و npm
را از قبل نصب کرده باشید.
- ابتدا پروژهی اولیه را دانلود و از حالت فشرده خارج کنید.
- در پوشهی
input-validation
، دستورnpm install
را برای نصب نیازمندیها اجرا کنید. - سپس با اجرای دستور
npm start
در ترمینالی دیگر پروژه ریاکت را اجرا کنید. - پس از انجام موفق این مراحل، با مراجعه به آدرس
http://localhost:3000/
میتوانید نتیجه را ببینید.
جزئیات
در این سوال میخواهیم برای کامپوننت Input
که ساختیم validation اضافه کنیم. کامپوننت Input
را طوری تغییر دهید که با توجه property هایی که به این کامپوننت داده میشود، تگ input مورد نظر را ساخته و ولیدیشن ارورها را نمایش دهد. لیستی از validator ها به این کامپوننت داده میشود که با تابع validate
میتوان درست بودن هر مقداری را با توجه به validator ها به دست آورد.
- درهنگام اولین
focus
روی input اروری نمایش داده نمیشود تاfocus
از آن برداشته شود اگر اروری وجود داشت نمایش میدهد و از دفعات بعد در هنگام تغییر اگر به اروری برخورد کرد همان لحظه نمایش دهد. - هنگامی که input معتبر نیست باید کلاس
form-input--invalid
بهdiv
با کلاسform-input
اضافه شود و ارور در تگp
بعد از input نمایش داده شود. - تگ label باید
htmlFor
به آیدی تگ input داشته باشد.
نکات
- شما تنها مجاز به اعمال تغییرات در فایل
input.js
هستید. - پس از اعمال تغییرات، پروژه را zip کرده و ارسال کنید.دقت کنید که پوشهی node_modules در فایل ارسالی نباشد.
ارسال پاسخ برای این سؤال