PDA

View Full Version : آموزش: FarsiFieldValidator کامپوننتی برای اعتبار سنجی فیلدهای فارسی



alireza_s_84
یک شنبه 05 مهر 1388, 19:45 عصر
بیشتر دوستان در طراحی وب سایت فیلدهایی دارند که باید حتما اطلاعات رو به فارسی از کاربر بگیرن و برای پیاده سازی این محدودیت روشهای مختلفی وجود داره.
کنترلی که براتون میذارم یک کنترل کامل برای اعتبار سنجی حروف فارسی هستش.

چند نکته پیرامون این کنترل:
1) استفاده از این کنترل دقیقاً همانند کنترل های Validation در ASP.NET هست.
2) این کنترل، بررسی رو در دو سطح کلاینت و سرور انجام میده.
3) تنها خاصیت اضافه ی این کنترل ValidationType هست که نوع اعتبار سنجی رو به سه حالت انجام میده:
الف) FarsiFields: فقط حروف فارسی رو قبول میکنه(مخصوص اعتبارسنجی نام و نام خانوادگی و کلا فیلدهایی که کاربر به جز حروف فارسی نباید کارکتر دیگه ای وارد کنه)
ب) FarsiAddress: مخصوص اعتبار سنجی فیلدهایی که برای نشانی و از این قبیل استفاده میشن(فقط حروف و خط زیر و اعداد رو قبول میکنه).
ج) FarsiCaracters: تمامی کارکترهای فارسی رو شامل میشه (همه و همه ()«»و ...)

دوستان عزیز، اگر در رابطه با استفاده از این کنترل به مشکلی برخورد یا باگی مشاهده کردند، در همین تاپیک اعلام بفرمایند.
ضمنا دارم روی یک کنترل دیگه کار مینکم به نام ExsitFieldValidator که مخصوص اعتبار سنجی وجود یا عدم وجود یک فیلد از قبله (مثل یوزرنیم و ایمیل) با مسترپیج مشکل داره برطرفش کردم حتما قرار میدم.
نظر یادتون نره دوستان.

سورس این کامپوننت در تاپیک زیر قرار داده شد:
http://barnamenevis.org/forum/showthread.php?t=223289

sav68.net
یک شنبه 05 مهر 1388, 23:26 عصر
سلام خيلي خوب و كاربردي بود

كاشكي دو روز زودتر اين كامپوننت رو آپلود ميكردي...


راستي اين ExsitFieldValidator همون RequiredFieldValidator نيست؟

با تشكر

alireza_s_84
یک شنبه 05 مهر 1388, 23:33 عصر
خواهش میکنم
نه ExistFieldValidator رو شما براش یک تابع سمت سرور تعریف میکنید که دیتابیس رو برای یافتن یک فیلد چک بکنه اگه پیدا بشه مقدار False برمیگردونه
مثلا شما میخواین کاربری رو ثبت کنید چک میکنید ببینید که نام کاربری یا ایمیلش از قبل ثبت نشده باشه این کنترل مثل یک کنترل اعتبار سنجی این مرحله رو برای شما انجام میده
این کنترل رو کامل نوشتم فقط در MasterPage یک ایراد فنی داره بر طرف شد آپلود میکنم تا دوستان استفاده کنن
موفق باشید

Exception
یک شنبه 05 مهر 1388, 23:34 عصر
با اجازه شما با استفاده از reflector یه نگاهی به سورس انداختم و الان چند تا نکته به فکرم میرسه:
1- اگر هدف آموزش بوده (طبق تیتر)، بهتر بود که سورس رو میذاشتی تا واقعا جنبه آموزش پیدا کنه (البته باز هم هرجور صلاح میدونی)
2- بهتر بود که بجای Page.ClientScript از ScriptManager استفاده کنی تا توی UpdatePanel هم مشکلی پیش نیاد.
3- اعداد فارسی الان validate نمیشن. بهتره اونها رو هم اضافه کنی. (یا حداقل یه option برای این کار در نظر بگیری)
4- برای دوستان تازه کار، بد نبود اگر روش استفاده از این DLL رو هم میگفتی.

alireza_s_84
یک شنبه 05 مهر 1388, 23:49 عصر
با اجازه شما با استفاده از reflector یه نگاهی به سورس انداختم و الان چند تا نکته به فکرم میرسه:
1- اگر هدف آموزش بوده (طبق تیتر)، بهتر بود که سورس رو میذاشتی تا واقعا جنبه آموزش پیدا کنه (البته باز هم هرجور صلاح میدونی)
2- بهتر بود که بجای Page.ClientScript از ScriptManager استفاده کنی تا توی UpdatePanel هم مشکلی پیش نیاد.
3- اعداد فارسی الان validate نمیشن. بهتره اونها رو هم اضافه کنی. (یا حداقل یه option برای این کار در نظر بگیری)
4- برای دوستان تازه کار، بد نبود اگر روش استفاده از این DLL رو هم میگفتی.
1)دوست عزیز سورس رو حتما میذارم
2)توی updatePanel هم هیچ مشکلی نداره چون خودم دارم استفاده میکنم (اصلا علت اینکه کنترهای اعتبارسنجی با UpdatePanel مشکل دارن اینه که محل قراردادن اینها مشکل داره نه خود کنترلها ، کنترلهای اعتبار سنجی باید با کنترلهایی که از اونها استفاده میکنن توی یک UpdatePanel باشن)
3) ولی من اعداد فارسی رو هم Validate میکنم و مشکلی ندارن اما باز هم چک میکنم
4) روش استفاده ش هم مثل همه ی کنترلهای اعتبار سنجیه به جز خصوصیت ValidateType که توضیح دادم چطور باید ست بکنیم
5) ممنون که نظر دادین حتما سورس رو قرار میدم اما وقتی دوستان استقبال کنن
موفق باشید

Exception
یک شنبه 05 مهر 1388, 23:57 عصر
1)دوست عزیز سورس رو حتما میذارم
2)توی updatePanel هم هیچ مشکلی نداره چون خودم دارم استفاده میکنم (اصلا علت اینکه کنترهای اعتبارسنجی با UpdatePanel مشکل دارن اینه که محل قراردادن اینها مشکل داره نه خود کنترلها ، کنترلهای اعتبار سنجی باید با کنترلهایی که از اونها استفاده میکنن توی یک UpdatePanel باشن)
3) ولی من اعداد فارسی رو هم Validate میکنم و مشکلی ندارن اما باز هم چک میکنم
4) روش استفاده ش هم مثل همه ی کنترلهای اعتبار سنجیه به جز خصوصیت ValidateType که توضیح دادم چطور باید ست بکنیم
5) ممنون که نظر دادین حتما سورس رو قرار میدم اما وقتی دوستان استقبال کنن
موفق باشید
2- برای امتحان validator رو به صورت داینامیک (در postback و نه load اولیه) به صفحه ای که Partial Postback شده (مسلما با UpdatePanel) اضافه کن. در این حالت اسکریپتها لود نمیشن!
3- منظورم از اعداد فارسی (و حتی عربی) محدوده 0x06F0 تا 0x06F9 و همینطور 0x0660 تا 0x0669 بود.
4- منظورم روش اضافه کردن reference فایل DLL به پروژه بود که اگر فکر میکنید بدیهی هست که هیچی!
5- هر جور صلاح میدونی

alireza_s_84
دوشنبه 06 مهر 1388, 00:28 صبح
2- برای امتحان validator رو به صورت داینامیک (در postback و نه load اولیه) به صفحه ای که Partial Postback شده (مسلما با UpdatePanel) اضافه کن. در این حالت اسکریپتها لود نمیشن!

درسته حق با شماست اصلا فکر این نبودم چشم حتما درستش میکنم


3- منظورم از اعداد فارسی (و حتی عربی) محدوده 0x06F0 تا 0x06F9 و همینطور 0x0660 تا 0x0669 بود.

اینو هم چشم کار سختی نیست حلش میکنم


4- منظورم روش اضافه کردن reference فایل DLL به پروژه بود که اگر فکر میکنید بدیهی هست که هیچی!

توی سایت دوستان توضیح دادن عزیزان سرچ بکنن هم سرچشون خوب میشه هم تاپیک های تکراری بوجود نمیاد

ممنون از نکته بینی قشنگتون
موفق باشید

alireza_s_84
دوشنبه 06 مهر 1388, 10:58 صبح
2- برای امتحان validator رو به صورت داینامیک (در postback و نه load اولیه) به صفحه ای که Partial Postback شده (مسلما با UpdatePanel) اضافه کن. در این حالت اسکریپتها لود نمیشن!

دوستان ایرادات رو برطرف کردم میتونید نسخه به روز شده رو از همون لینک بالا دریافت کنید

nahid1388
چهارشنبه 08 مهر 1388, 10:19 صبح
سلام دوستان
من نتونستم ازش استفاده کنم چه جوری میشه ازش استفاده کرد؟؟؟:ناراحت:

alireza_s_84
چهارشنبه 08 مهر 1388, 17:12 عصر
سلام دوستان
من نتونستم ازش استفاده کنم چه جوری میشه ازش استفاده کرد؟؟؟:ناراحت:
خانم ناهید شما با کجای استفاده از این کامپوننت مشکل دارین ؟؟؟

مهران موسوی
پنج شنبه 09 مهر 1388, 22:22 عصر
دوست عزیز کارتون خوب بود . ولی بهتره اگه هدفتون اموزش هست سورس این کنترل اعتبار سنجی رو هم بزارین .

ExistFieldValidator هم جالبه . اگه سورسشون رو هم بزارین عالی تر از اینی که هست میشه ... هر چند با ابزارهای Generic میشه سورسشون رو در اورد ولی اگه خودتون لطف کنید بیشتر به ادم حال میده :بامزه:

یا حق ...

iman_ad
پنج شنبه 09 مهر 1388, 22:51 عصر
بله لطفا سورس هم بگذارید

mskarimi
شنبه 02 آبان 1388, 20:33 عصر
یه مشکل جدی اونم اینکه ي رو قبول نمی کنه.

h.alizadeh
شنبه 02 آبان 1388, 22:13 عصر
می خواید حروف عربی "ی" و "ک" و "و" رو هم وارد کنید؛ البته جسارت نباشه من چک نکردم با توجه به پست دوست بالایی حدس زدم.

خوشحال میشیم سورس رو قرار بدید و ممنون از زحماتتون.

mskarimi
یک شنبه 03 آبان 1388, 21:05 عصر
البته من با یه کلک کوچولو مشکل رو بر طرف کردم. اما در حالت عادی حروف ي و ک عربی رو قبول نمی کنه و با توجه به عربی بودن برخی استاندارهای KBDFA نمی شه از این کامپوننت استفاده کرد.

alireza_s_84
یک شنبه 03 آبان 1388, 23:24 عصر
مشکل رو برطرف کردم باز هم مشکلی بود مطرح کنید
موفق باشید

mskarimi
دوشنبه 11 آبان 1388, 01:19 صبح
سلام.
با حرف ظ هم مشکل داره

alireza_s_84
دوشنبه 11 آبان 1388, 04:28 صبح
سلام.
با حرف ظ هم مشکل داره
دوست عزیز چک کردم مشکلی نداشت (با تمامی کیبوردهای عربی چک کردم ولی هیچ مشکلی با هیچکدوم از حروف دیگه نداشت)
دوستان دیگه هم امتحن بکنید ببنید مشکلی هست یا نه

mskarimi
دوشنبه 11 آبان 1388, 09:11 صبح
با حرف ظ با کد حرفی

0x0638
مشکل داره. منم الان کامپونتت رو رو یه سایتی دارم تست می کنم و حسابی دستم تو حناس

alireza_s_84
دوشنبه 11 آبان 1388, 11:44 صبح
با حرف ظ با کد حرفی

0x0638مشکل داره. منم الان کامپونتت رو رو یه سایتی دارم تست می کنم و حسابی دستم تو حناس


دوست عزیز مشکل رو برطرف کردم
ممنون که نظر دادین

alireza_s_84
پنج شنبه 06 خرداد 1389, 12:42 عصر
سورس این کامپوننت رو در تاپیک زیر قرار دادم:
http://barnamenevis.org/forum/showthread.php?t=223289

alijani2010
یک شنبه 16 خرداد 1389, 21:10 عصر
سلام
ممنون میشم اگه 1 مثال هم بزنید که چطوری استفده میشه !!!
من همه کارائی رو که گفتید انجام دادم ولی خاصیتی به کنترلم اضافه نشد
باید چیکار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ممنون

mskarimi
چهارشنبه 19 خرداد 1389, 15:41 عصر
با سلام و ادب
کسی از دوستان از این کامپوننت توی دات نت 4 استفاده کرده . فکر کنم یه جورایی مشکل با هم داشته باشن. من تو یه پروژه ای یه کار سریعی داشتم وقت نشد متن خطارو بردارم ولی از دوستان اگه کسی تونست یه بررسی بکنه

با تشکر

iman_ad
چهارشنبه 19 خرداد 1389, 23:46 عصر
من که هرچی گشتم سورس پیدا نکردم

mskarimi
پنج شنبه 20 خرداد 1389, 10:45 صبح
من که هرچی گشتم سورس پیدا نکردم

البته سورس به صورت فایل وجود نداشت و در ضمن آموزش آورده شده بود.

کسی از دوستان در دات نت 4 از این ولیدتور استفاده نکرده؟

a_123123123123
چهارشنبه 15 تیر 1390, 11:33 صبح
واقعااااااااااااااااااااا اااااااااااااااااااا:تشوی :
دکت گرم
خیلی کار باحالی کردی
این فارسب نوشتن یه اعصاب جدا میخواست