PDA

View Full Version : وجود تعدادی شرط بر روی هر فیلد



Jamshid.Bastani
دوشنبه 09 بهمن 1391, 23:13 عصر
سلام.

من مثلا یک فیلد دارم برای کد ملی - در این فیلد تنها باید اعداد قرار بگیرد.
می خواهم شرطی بگذارم اگر شخصی اومد و حروف را تایپ کرد یک پیغام بدهد که تنها اعداد مجاز بوده و یا هیچ چیزی تایپ نکند.

و بعدای اینکه مثلا یک فیلد دارم برای ایمیل - می خواهم حتما شکل صحیح ایمیل وارد گردد.

چگونه می توانم این ظرط ها را اعمال کنم.

سپاس

danialafshari
دوشنبه 09 بهمن 1391, 23:47 عصر
می خواهم شرطی بگذارم اگر شخصی اومد و حروف را تایپ کرد یک پیغام بدهد که تنها اعداد مجاز بوده و یا هیچ چیزی تایپ نکند.
keypress:
if (e.KeyChar == 8) { e.Handled = false; return; }

if (e.KeyChar < 48 || e.KeyChar > 57 || e.KeyChar == 32) { e.Handled = true; }



و بعدای اینکه مثلا یک فیلد دارم برای ایمیل - می خواهم حتما شکل صحیح ایمیل وارد گردد.
using System.Text.RegularExpressions;
----------------------
private bool IsValidEmail(string strIn)
{
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
-----------------------
private void button1_Click(object sender, EventArgs e)
{
if (IsValidEmail(textBox1.Text.Trim()))
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("Error");
}
}

Jamshid.Bastani
دوشنبه 09 بهمن 1391, 23:55 عصر
سپاس فراوان.

یکمی در مورد هر دو کد بیشتر توضیح می دهید.

ممنونم.

danialafshari
سه شنبه 10 بهمن 1391, 00:26 صبح
سپاس فراوان.

یکمی در مورد هر دو کد بیشتر توضیح می دهید.

ممنونم.

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

Jamshid.Bastani
سه شنبه 10 بهمن 1391, 00:43 صبح
کد اول به وسیله کد اسکی میاد محدوده ی رشته رو Handle میکنه
و کد دوم به وسیله Regex صحیح بودن ایمیل رو چک می کنه
بله - سپاس

نه منظورم این هست که من باید همین کد رو دقیقا کپی کنم ؟؟
بهم پیغام خطا می دهد.

چه جوری باید استفاده کنم؟؟ خط اول چی داره میگه ؟ خط دوم چی داره میگه ؟

danialafshari
سه شنبه 10 بهمن 1391, 01:03 صبح
کاری نداشتا میتونستی راحت copy/paste کنی تو برنامت
به هر حال :

Jamshid.Bastani
سه شنبه 10 بهمن 1391, 09:23 صبح
ممنونم. خوب من نمی دونستم باید txt_changed رو به txt_keypress تبدیل کنم.

من قسمت دوم برنامه که وجود شرط برای ایمیل بود رو انجام دادم.

اما قسمت اول برای فقط اعداد اجرا نمیشود. می پره بیرون میره تو فایل INFREG.cs و از خط this.txtidNational = ................ txtIDnational_keypress ایراد می گیرد.

سپاس

danialafshari
سه شنبه 10 بهمن 1391, 10:54 صبح
در سولوشن من که درسته !
پیشنهاد می کنم برای فقط عدد از ابزار maskedTextBox خود vs استفاده کنید

Jamshid.Bastani
سه شنبه 10 بهمن 1391, 11:31 صبح
امکانش هست من سورس برنامه را برای شما ارسال کنم ؟

چون چند مورد دیگر هم سوال داشتم.

سپاس