回答
如果所有你關心的是該字段包含一個整數(即不涉及的範圍),然後添加一個CompareValidator
與它的Operator
屬性設置爲DataTypeCheck
:
<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer"
ControlToValidate="ValueTextBox" ErrorMessage="Value must be a whole number" />
如果有值是有效的(有可能是)一個特定的範圍內,那麼你可以使用一個RangeValidator
,像這樣:
<asp:RangeValidator runat="server" Type="Integer"
MinimumValue="0" MaximumValue="400" ControlToValidate="ValueTextBox"
ErrorMessage="Value must be a whole number between 0 and 400" />
如果在文本框中的文字,這些只會驗證,所以你西港島線我也需要保留RequiredFieldValidator
。
由於@Mahin表示,請確保您檢查服務器端的Page.IsValid
屬性,否則驗證程序僅適用於啓用了JavaScript的用戶。
int integer;
Int32.TryParse(Textbox.Text, out integer)
它會返回一個布爾值,所以你可以看到,如果他們進入了一個有效的整數。
附加一個正則表達式驗證文本框,並使其表達是這樣的:
^\d+$
,做你的服務器端驗證過的,當然。
有幾種不同的方法可以處理這個問題。你可以添加一個RequiredFieldValidator以及一個RangeValidator(如果適用於你的情況)或者你可以添加一個CustomFieldValidator。
鏈接到CustomFieldValidator: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator%28VS.71%29.aspx
鏈接到ASP.NET驗證MSDN文章: http://msdn.microsoft.com/en-us/library/aa479045.aspx
http://msdn.microsoft.com/en-us/library/ad548tzy%28VS.71%29.aspx
當使用服務器驗證控件,你必須要小心,事實上,任何人們可以在瀏覽器中禁用JavaScript。所以你應該使用Page.IsValid屬性總是在服務器端。
<script language="javascript" type="text/javascript">
function fixedlength(textboxID, keyEvent, maxlength) {
//validation for digits upto 'maxlength' defined by caller function
if (textboxID.value.length > maxlength) {
textboxID.value = textboxID.value.substr(0, maxlength);
}
else if (textboxID.value.length < maxlength || textboxID.value.length == maxlength) {
textboxID.value = textboxID.value.replace(/[^\d]+/g, '');
return true;
}
else
return false;
}
</script>
<asp:TextBox ID="txtNextVisit" runat="server" MaxLength="2" onblur="return fixedlength(this, event, 2);" onkeypress="return fixedlength(this, event, 2);" onkeyup="return fixedlength(this, event, 2);"></asp:TextBox>
這個javascript函數只接受2個整數,也不允許用戶輸入其他整數。如果你想要超過2個整數值,只需使用
你可以編輯你的答案來增加更多的細節(它比評論更易讀) – kleopatra 2012-12-12 13:43:52
這工作正常,對我說:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="YourTextBoxID"
ErrorMessage="Only numeric allowed." ForeColor="Red"
ValidationExpression="^[0-9]*$" ValidationGroup="NumericValidate">*
</asp:RegularExpressionValidator>
我想你應該添加ValidationGroup="NumericValidate"
到您的提交按鈕也。
您可以使用Java腳本這樣的: -
<asp:TextBox ID="textbox1" runat="server" Width="150px" MaxLength="8" onkeypress="if(event.keyCode<48 || event.keyCode>57)event.returnValue=false;"></asp:TextBox>
的Visual Studio已經爲範圍檢查和類型檢查搞到現在集成支持: -
試試這個: - 爲範圍檢查 在驗證/檢查特定範圍的數字之前從標記視圖切換到設計視圖。然後: -
查看>工具箱>驗證
現在在RangeValidator控件拖動到你想要顯示的錯誤消息您設計網頁(ofcourse如果用戶輸入超出範圍值) 現在點擊你的控件的作用。右鍵單擊並選擇屬性。在「屬性」窗口中(通常在解決方案欄下方打開),在「錯誤消息」上選擇。寫: -
數字必須在範圍內。
現在從Control上選擇以驗證並從下拉列表中選擇TextboxID(或者將其寫入)。找到屬性欄本身並鍵入Integer。
就在它上面,你會發現最大值和最小值。
進行類型檢查(沒有任何範圍)
驗證/檢查號碼的特定範圍之前接通設計從標記圖視圖。然後: -
視圖>工具箱>驗證
現在將CompareValidator拖動到您想要顯示錯誤消息(如果用戶在其中輸入文本時顯示錯誤消息)的設計頁面。 現在點擊您的CompareValidator控件。右鍵單擊並選擇屬性。在「屬性」窗口中(通常在解決方案欄下方打開),在「錯誤消息」上選擇。寫: -
值必須是一個數字。
現在找到的ControlToValidate選項,並在寫你的名字控件ID(或者你也可以從下拉列表中選擇).Locate的操作選項,並寫DataTypeCheck(或者,您也可以從下拉菜單中選擇),在它。再定位Type選項並在其中寫入Integer。
這就是坐。
或者你可以寫下面的代碼在你的aspx頁面: - <% - 沒有任何範圍驗證 - %>
雙擊您的按鈕,並使用下面的代碼: -
protected void button_click(object sender,EventArgs e)
{
int parsedValue;
if(int.TryParse(!txt.Text,out parsedValue))
{
Label.Text = "Please specify a number only !!"; //Will put a text in a label so make
//sure
//you have a label
}
else
{
// do what you want to
}
- 1. ASP.NET驗證已具有值的文本框
- 2. 對錶單的SQL驗證以確保它具有某些值
- 3. asp.net-MVC文本框驗證
- 4. 驗證文本框ASP.NET
- 5. ASP.Net文本框驗證
- 6. asp.net驗證多文本框
- 7. asp.net多文本框驗證
- 8. 驗證文本框使用整數ASP
- 9. 文本框整數驗證錯誤
- 10. Struts 1文本框到整數驗證
- 11. 驗證文本框的值
- 12. 具有onblur值的文本框所需的字段驗證器
- 13. Java驗證,以檢查是否有多個文本框有值
- 14. 驗證文本框中的數值
- 15. WPF文本框對數值的驗證
- 16. 帶有文本框值的Jquery文本框驗證
- 17. asp.net驗證文本框 - 至少一個文本框必須有數據
- 18. 帶有數據驗證的文本框
- 19. 如何驗證輸入文本以確保只輸入大於最小值的浮點數或整數?
- 20. asp.net範圍驗證的文本框
- 21. Asp.Net驗證器和只讀文本框
- 22. 驗證asp.net中的特殊文本框
- 23. jQuery驗證從asp.net文本框
- 24. ASP.net文本框驗證問題
- 25. 如何創建WPF驗證規則以確保兩個文本字段具有相同的值?
- 26. 驗證文本框
- 27. 文本框驗證
- 28. 文本框驗證
- 29. 驗證文本框
- 30. 驗證文本框中的整數值和浮點值僅使用Javascript
CompareValidator檢查整數數據類型的可能的問題:它似乎只是檢查正確的數字(0-9),但它不檢查範圍。因此,如果使用此驗證程序,如果用戶輸入的值太大或太小,仍可能會出現超出範圍的異常。更好地添加範圍驗證程序! – 2016-09-02 00:37:55