فکر میکنم این کد شما، server side باشه، نه client side .. :؟دوستمون لطف کردن و پاسخ رو برامون گذاشتن که البته جواب خوبیه ولی شاید برای شرطهای کمی پیچیده تر (مثلا همون اعداد منفی ) مشکل ساز باشه . یک راه مناسب وجود داره و اون هم استفاده از Custom Validation هست به. به این ترتیب که کد رو براتون می ذارم :
کد مربوط به Code Behind
کد:protected void ServerValidation(object source, ServerValidateEventArgs args) { try { // Test whether the value entered into the text box is between 0,5 or 10,15. int i = int.Parse(args.Value); bool flag = false; if ((i > 0 & i < 5) | (i > 10 & i < 15)) flag = true; else flag = false; args.IsValid = flag; } catch (Exception ex) { args.IsValid = false; } } protected void ValidateBtn_OnClick(object sender, EventArgs e) { // Display whether the page passed validation. if (Page.IsValid) { Message.Text = "Page is valid."; } else { Message.Text = "Page is not valid!"; } }
کد HTML مربوط به کنترل ها :
کد:codes in HTML View <asp:Label id="Message" Text="Enter a number between 0-5 or 10-15:" Font-Name="Tahoma" Font-Size="11px" runat="server" Font-Names="Verdana"/> <asp:TextBox id="Text1" runat="server" /> <asp:CustomValidator id="CustomValidator1" ControlToValidate="Text1" Display="Static" ClientValidationFunction="ClientValidate" ErrorMessage="Range Number is invalid !" ForeColor="green" Font-Name="Tahoma" Font-Size="11px" OnServerValidate="ServerValidation" runat="server"/> <asp:Button id="Button1" Text="Validate" OnClick="ValidateBtn_OnClick" runat="server"/>
لازمه توضیح بدم که validation در سمت client صورت می گیره و دلیلش هم وجود المنت ClientValidationFunction="ClientValidate" در کنترل CustomValidator هست . اگر این خصوصیت رو حذف کنید validation در سمت Server صورت می گیره . شاد باشید
برگرفته از MSDN
.