PDA

View Full Version : اعتبار سنجی داده ها در Windows Forms



مملی2002
شنبه 18 مرداد 1393, 19:53 عصر
سلام
دوستان من در مورد اعتبار سنجی داده هایی که توسط کاربر وارد می شوند در Windows Forms به مشکل برخوردم

در Asp.Net مایکروسافت یک کنترل برای این کار ارائه کرده که خیلی ساده از طریق این کنترل میشه اعتبار سنجی های مختلف روی ورودی های کاربر اعمال کرد

ولی ظاهرا در Win Forms همچین کنترلی وجودی نداره

استفاده از Validation به کمک Regular Expression هم توی پروژه ای که بالای 5 فرم داشته باشه به نظر منطقی نمیاد

ممنون میشم دوستان راهنمایی کنند

Amiri.projects
شنبه 18 مرداد 1393, 22:23 عصر
اگر پروژه شما با MaskInput راه میفته :

http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox%28v=vs.110%29.a spx

اگر جواب نمیده، لطف کنید و واضح بگید برای چه کاری می خواهید تا انشالله بتونم کمک کنم کلاس یا متدش رو پیاده سازی کنید

alonmahdi
شنبه 18 مرداد 1393, 23:00 عصر
سوالتون خیلی کلی هست یعنی چه اعتبار سنجی ؟
مثلا اگه اعنبار سنجی نظیر چک کردن خالی نبودن رو بخوای می تونی از کامپونتت استفاده کنید یا به لینک زیر برید :

http://barnamenevis.org/showthread.php?95001-1001-%D9%86%DA%A9%D8%AA%D9%87-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE&p=490890#post490890

مملی2002
شنبه 18 مرداد 1393, 23:20 عصر
ببینید من توی یه پروژه ای به عنوان مثال از کنترل های Telerik یا DevExpress اگر استفاده کنم دیگه کامپوننت های آماده ای که توی وب هست جوایگوی Validation برای TextBox ها نیست

Validation هم به طور معمول یا از خالی گذاشتن یه فیلد اجباری جلوگیری میکنه ، یا توی یه باکس فقط اجازه ورود عدد میده و یا ....

همه این ها رو میشه قبل از save کردن entity مورد نظر با Regular Expression چک کرد ولی خوب منطقی نیست توی تک تک فرم ها قبل از متد مثلا save یه متد validation باشه با کلی regx

plus
یک شنبه 19 مرداد 1393, 00:38 صبح
اینجا یک توضیحاتی دادم: http://barnamenevis.org/showthread.php?462480-Validate-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D9%88-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7
برای اینکه لازم نباشه کدهای بررسی رو به صورت تکراری در هر فرم بگذارین باید از امکانات شی گرایی استفاده کنید و سیستمی برای این کار طراحی کنید.
مثلا شما میتونید مجموعه ای از کلاس های Validator رو تعریف کنید، که هر کدوم وظیفه Validate کردن یک مقدار خاص رو دارن، مثلا: NumberValidator، UsernameValidator, MoneyValidator و ... .هر کدوم ازاین کلاس ها یک متد Validate دارن که داخلشون یک مقدار میگرین و عمل Validation رو انجام میدن. حالا باید با روشی، کنترلهایی که عمل Validation براشون نیاز هست رو به طریقی، مثلا از طریق یک Propery به این Validator ها انتصاب بدین.برای این کار احتمالا لازمه که از کلاس های کنترل های نظر ارث بری کنید. احتمالا لازم میشه فرم رو هم باید ارث بری کنید تا هر وقت نیاز هست با فراخوانی متدهای Validate مربوط به Validator ها عمل Validation انجام بشه...
این توضیحاتی که دادم در حد ایده کلی هست که شاید در طراحی چنین سیستمی به شما کمک کنه...

مملی2002
سه شنبه 21 مرداد 1393, 20:10 عصر
تاپیک های دوستان رو خوندم ولی به نظرم ابزار مناسب اعتبار سنجی برای winapp ندیدم و فقط ایده هایی وجود داره که خوب قطعا همه وقتی صحبت از یک ابزار Validation میشه همین ایده ها به ذهنشون میرسه
اگر دوستان علاقه مند باشند می تونیم به کمک هم یه ابزار خیلی خوب تهیه کنیم و در اختیار سایر دوستان هم قرار بدیم