13
我有一個連接到它要求兩者和範圍驗證,其中代碼看起來像這樣的asp:textbox
:asp.net範圍驗證的文本框
ASP:
<asp:TextBox ID="textBox1" runat="server" CausesValidation="true"></asp:TextBox>
<asp:RangeValidator ID="rangeValidator1" runat="server" ControlToValidate="textBox1" MaximumValue="1" MinimumValue="0"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Out of Range" />
<asp:RequiredFieldValidator ID="requiredValidator1" runat="server" ControlToValidate="textBox1"
ValidationGroup="valid" ForeColor="Red" ErrorMessage="Cannot be blank" />
而當頁面動態加載(快速回調後),我有代碼應該將RangeValidator的MaximumValue
更改爲更具體的值。下面是該代碼:
rangeValidator1.MaximumValue = GetMaxValue(params).ToString();
現在,我已經設置斷點,rangeValidator1.MaximumValue
被正確設定,但是,在頁面加載的時候,我期待在編譯客戶端的JavaScript,它看來,最大值仍然只有1.
更令我困惑的是,只要第一個數字是'1',任何輸入的整數都會通過。因此,如果maxValue爲假定爲「1234567」,則「1」將與「12345678910」匹配。但「2」不會。也不會「3000」或「46000」。
其他人有沒有與文本框上的RangeValidators類似的問題?
textbox1看起來不在同一個ValidationGroup中,而id是textBox1(注意大寫字母B)這只是一個錯字嗎? – 2012-01-11 20:50:21
另外,RangeValidator沒有Type字段嗎? – 2012-01-11 20:51:28
關於您的第一條評論,很抱歉,那是一個錯字。當我將代碼複製到SO時,我更改了ID,以便更易於閱讀。他們*做*匹配。 – 2012-01-11 20:59:48