PDA

View Full Version : سوال: تغییر رنگ Textbox هنگام Validate کردن



General-Xenon
چهارشنبه 20 مرداد 1389, 23:56 عصر
سلام خدمت اساتید.
من می خواستم تکست باکسی که ولیدیت میشه توی صفحه، به جای نوشتن یک پیغام، خود تکست باکس به رنگ قرمز در بیاد. مثل سایت یاهو.

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

Mostafa_Dindar
پنج شنبه 21 مرداد 1389, 00:49 صبح
سلام خدمت اساتید.
من می خواستم تکست باکسی که ولیدیت میشه توی صفحه، به جای نوشتن یک پیغام، خود تکست باکس به رنگ قرمز در بیاد. مثل سایت یاهو.

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

شما با استفاده از jQuery و CustomValiator میتوانید اینکار رو پیاده سازی کنید ,

در صفحه aspx :

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage=""
ControlToValidate="TextBox1" ClientValidationFunction="ValidateTextBox"
OnServerValidate="CustomValidator1_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<script src="jquery-1.2.6.js" type="text/javascript"></script>
<script type="text/javascript">
function ValidateTextBox(source, args)
{
var is_valid = $("#TextBox1").val() != "";
$("#TextBox1").css("background-color", is_valid ? "white" : "red");
args.IsValid = is_valid;
}
</script>

در صفحه .cs :

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
bool is_valid = TextBox1.Text != "";
TextBox1.BackColor = is_valid ? Color.White : Color.Red;
args.IsValid = is_valid;
}

همانطور که ملاحظه میکنید در رویداد ClientValidationFunction متد کلاینت ساید ValidateTextBox فراخوانی میشود و در اون متد با توجه به اینکه صفحه Valid هست یا خیر , رنگ TextBox رو عوض میکنه .

در صفحه Cs هم که مشخصه عمل Validation رو به صورت ServerSide انجام میده , یعنی درصورتی که جاوااسکریپت مرورگر کلاینت غیر فعال بود , در سمت سرور Validation صورت گیرد .

منبع (http://stackoverflow.com/questions/196859/change-text-box-color-using-required-field-validator-no-extender-controls-please)

موفق باشید

Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 01:14 صبح
سلام
دوست من آقای Mostafa_Dindar (http://www.barnamenevis.org/forum/member.php?u=122118) پیش دستی کرد :لبخند:
بعد از اینکه پست زیر من ثبت کنم - این تاپیک Refresh کردم دیدم دقیقا همین چیزی که قصد داشتم
برات بزارمو گذاشتن - شرمنده :خجالت: Mostafa_Dindar (http://www.barnamenevis.org/forum/member.php?u=122118) جان

جواب:
http://www.barnamenevis.org/forum/showthread.php?p=1064527&posted=1#post1064527

General-Xenon
پنج شنبه 21 مرداد 1389, 01:52 صبح
شما با استفاده از jQuery و CustomValiator میتوانید اینکار رو پیاده سازی کنید ,



همانطور که ملاحظه میکنید در رویداد ClientValidationFunction متد کلاینت ساید ValidateTextBox فراخوانی میشود و در اون متد با توجه به اینکه صفحه Valid هست یا خیر , رنگ TextBox رو عوض میکنه .

در صفحه Cs هم که مشخصه عمل Validation رو به صورت ServerSide انجام میده , یعنی درصورتی که جاوااسکریپت مرورگر کلاینت غیر فعال بود , در سمت سرور Validation صورت گیرد .

منبع (http://stackoverflow.com/questions/196859/change-text-box-color-using-required-field-validator-no-extender-controls-please)

موفق باشید
ممنون از دوستان اما کار نکرد این سورس:ناراحت:

Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 01:57 صبح
دوست من فایل تست شده شو هم تو همون لینک گذاشتم
نگاه کن < جوابشو بهم بگو

General-Xenon
پنج شنبه 21 مرداد 1389, 02:05 صبح
دوست من فایل تست شده شو هم تو همون لینک گذاشتم
نگاه کن < جوابشو بهم بگو
ممنون اما سورس شما هم کار نکرد . آیا ایراد از سیستم من میشه ؟ :متفکر:

Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 02:24 صبح
من فایل دوباره چک کردم (یه لحظه شک کردم :لبخند:)
Broswer چک کن
اگه از FF استفاده میکنی پاکش کن دوبازه نصبش کن !!!!

General-Xenon
پنج شنبه 21 مرداد 1389, 02:31 صبح
من فایل دوباره چک کردم (یه لحظه شک کردم :لبخند:)
Broswer چک کن
اگه از FF استفاده میکنی پاکش کن دوبازه نصبش کن !!!!

آقا قربووووووونت بشم من.:لبخند: مشکل حل شد. ممنون