2012-03-30 39 views
4

我成功地多次使用驗證程序,但經過一些編程後,我的驗證程序不工作。也許是我不知道如何爲同一控件定義2個驗證程序,但它不適用於控件中的一個驗證程序either.Here是我的代碼2點的例子:(一「最大值」驗證爲roadaddress:爲什麼我的RangeValidator不工作?

實施例1:一個必需字段驗證和用戶名一「最大值」驗證:

<asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" 
            ControlToValidate="UserNameTextbox" ForeColor="red" 
            Display="Dynamic" ErrorMessage="Required" /> 

<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="UsernameTextbox" MinimumValue="1" MaximumValue="20" ForeColor="red" 
    Display="Dynamic" ErrorMessage="Name must contain maximum 20 characters"></asp:RangeValidator> 

實施例2字符串):

<asp:RangeValidator ID="RangeValidator9" runat="server" MaximumValue="50" ForeColor="red" 
      ErrorMessage="Road Address must contain maxmum 50 characters" ControlToValidate="RoadAddressTextbox"></asp:RangeValidator> 

我想這個問題可能是在顯示屬性或原因validation屬性,我不使用...

+0

否AJAX否UpdatePanel .. – Dchris 2012-03-30 22:05:07

回答

4

這不是什麼RangeValidator用於。 RangeValidator旨在檢查輸入以確保其在一定範圍內,即確保數字在1和5之間,日期在一定範圍內等。

您需要的是RegularExpressionValidator

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
    ControlToValidate="UserNameTextbox" 
    ErrorMessage="Username must be between 1 and 50 characters" 
    ValidationExpression="^[a-zA-Z\s]{1,50}"> 
</asp:RegularExpressionValidator> 

編輯:更新表達式^[a-zA-Z\s]{1,50}