رفع اشکال و پرسشها
راهحل مشکلات رایج و پاسخ پرسشهایی که زیاد پرسیده میشود.
رفع اشکال#
| مشکل | علت و راهحل |
|---|---|
| فونت پیشفرض (Tahoma) نمایش داده میشود | فایل Vazirmatn-Variable.woff2 را در assets/fonts/ بگذارید و نام آن را با نام فایل در CSS مقایسه کنید. |
| دکمهها و فرمها کار نمیکنند | مسیر اسکریپتها را بررسی کنید؛ در صفحههای pages/ باید ../assets/js/ باشد. config.js باید پیش از mehmannavaz.js بیاید. |
| فرم ارسال میشود اما درخواستی به سرور نمیرود | demo هنوز true است، یا فرم data-endpoint ندارد. در حالت نمایشی هیچ درخواستی ارسال نمیشود. |
| پاسخ سرور نادیده گرفته میشود | پاسخ باید JSON معتبر باشد و کد وضعیت درست داشته باشد. فیلدهای message، next و errors را در [قالب پاسخ](backend.html#response) ببینید. |
| بعد از موفقیت به صفحهٔ بعد نمیرود | مقدار data-next روی فرم (برای کد یکبارمصرف روی .otp) را بررسی کنید. اگر next سرور از دامنهٔ دیگری است، نادیده گرفته میشود. |
| اعتبارسنجی کار نمیکند | هر input باید id و data-rule داشته باشد و داخل .field همراه با .msg باشد. |
| آیکونها دیده نمیشوند | بلوک <svg> نمادها باید ابتدای <body> باشد و شناسهٔ نماد درست (مثل i-lock) نوشته شود. |
| دکمهٔ ورود با گوگل یا اپل نیست | در حالت غیرنمایشی، دکمهای که نشانی آن در social نوشته نشده پنهان میشود. |
| تم ذخیره نمیشود | localStorage در حالت خصوصی مرورگر ممکن است بسته باشد؛ انتخاب تم فقط تا بستن صفحه میماند. |
پرسشهای متداول#
فقط یکی از صفحهها را میخواهم. چه فایلهایی لازم است؟#
فایل HTML همان صفحه، mehmannavaz.css، config.js، mehmannavaz.js و نمادک. بلوک آیکونها داخل خود صفحه است. مسیر فایلها را در صورت جابهجایی اصلاح کنید.
چطور فیلد تازه اضافه کنم؟#
یک بلوک .field را کپی کنید و id، name، type، autocomplete و data-rule آن را تنظیم کنید. فیلد بهطور خودکار با نام name در بدنهٔ درخواست قرار میگیرد. قاعدهٔ مناسب در [فرمها](forms.html#rules) هست یا خودتان تعریف کنید.
چطور متن پیامهای اعتبارسنجی را عوض کنم؟#
قاعده را با Mehmannavaz.addRule دوباره تعریف کنید ([قاعدهٔ سفارشی](forms.html#custom-rule)) یا متن را مستقیماً در شیء RULES فایل mehmannavaz.js ویرایش کنید.
بدون جاوااسکریپت چه میشود؟#
ظاهر صفحهها نمایش داده میشود، اما فرمها کاری نمیکنند؛ ارسال، اعتبارسنجی و کد یکبارمصرف با جاوااسکریپت انجام میشود.
در React، Vue یا یک SPA چطور استفاده کنم؟#
اسکریپت هنگام بارگذاری صفحه فرمها را پیدا و فعال میکند؛ برای فرمهایی که بعداً با فریمورک ساخته میشوند، خودکار فعال نمیشوند. سادهترین راه سرو کردن هر صفحه بهعنوان صفحهٔ مستقل است. میتوانید mehmannavaz.css را مستقل از اسکریپت و فقط برای ظاهر در پروژهٔ خود استفاده کنید.
آیا زبانهای چپچین پشتیبانی میشوند؟#
کیت برای فارسی و راستچین ساخته شده است. متنها و پیامهای اسکریپت فارسیاند و چیدمان با ویژگیهای منطقی CSS (inline-start/inline-end) نوشته شده؛ ترجمهٔ کامل به زبان چپچین نیاز به بازنویسی متنها و تغییر dir دارد.