簡體   English   中英

使用DropDownList的RegularExpressionValidator(asp.net)

[英]RegularExpressionValidator With DropDownList(asp.net)

當有人試圖從下拉列表中提交沒有選擇“狀態”的表單時,我試圖顯示錯誤消息。 我知道我可以使用RegularExpressionValidator輸入錯誤消息,但是我將使用什么來驗證表達式?

<asp:DropDownList ID="dropState" runat="server">
    <asp:ListItem Value="" select="True">Select One</asp:ListItem>
    <asp:ListItem Value="">Not in USA</asp:ListItem>
    <asp:ListItem Value="AL">Alabama</asp:ListItem>
    <asp:ListItem Value="AK">Alaska</asp:ListItem>
    <asp:ListItem Value="AZ">Arizona</asp:ListItem>
    <asp:ListItem Value="AR">Arkansas</asp:ListItem>
    <asp:ListItem Value="CA">California</asp:ListItem>
    <asp:ListItem Value="CO">Colorado</asp:ListItem>
    <asp:ListItem Value="CT">Connecticut</asp:ListItem>
    <asp:ListItem Value="DE">Delaware</asp:ListItem>
    <asp:ListItem Value="DC">District of Columbia</asp:ListItem>
    <asp:ListItem Value="FL">Florida</asp:ListItem>
    <asp:ListItem Value="GA">Georgia</asp:ListItem>
    <asp:ListItem Value="HI">Hawaii</asp:ListItem>
    <asp:ListItem Value="ID">Idaho</asp:ListItem>
    <asp:ListItem Value="IL">Illinois</asp:ListItem>
    <asp:ListItem Value="IN">Indiana</asp:ListItem>
    <asp:ListItem Value="IA">Iowa</asp:ListItem>
    <asp:ListItem Value="KS">Kansas</asp:ListItem>
    <asp:ListItem Value="KY">Kentucky</asp:ListItem>
    <asp:ListItem Value="LA">Louisianna</asp:ListItem>
    <asp:ListItem Value="ME">Maine</asp:ListItem>
    <asp:ListItem Value="MD">Maryland</asp:ListItem>
    <asp:ListItem Value="MA">Massachusetts</asp:ListItem>
    <asp:ListItem Value="MI">Michigan</asp:ListItem>
    <asp:ListItem Value="MN">Minnesota</asp:ListItem>
    <asp:ListItem Value="MS">Mississippi</asp:ListItem>
    <asp:ListItem Value="MO">Missouri</asp:ListItem>
    <asp:ListItem Value="MT">Montana</asp:ListItem>
    <asp:ListItem Value="NE">Nebraska</asp:ListItem>
    <asp:ListItem Value="NV">Nevada</asp:ListItem>
    <asp:ListItem Value="NH">New Hampshire</asp:ListItem>
    <asp:ListItem Value="NJ">New Jersey</asp:ListItem>
    <asp:ListItem Value="NM">New Mexico</asp:ListItem>
    <asp:ListItem Value="NY">New York</asp:ListItem>
    <asp:ListItem Value="NC">North Carolina</asp:ListItem>
    <asp:ListItem Value="ND">North Dakota</asp:ListItem>
    <asp:ListItem Value="OH">Ohio</asp:ListItem>
    <asp:ListItem Value="OK">Oklahoma</asp:ListItem>
    <asp:ListItem Value="OR">Oregon</asp:ListItem>
    <asp:ListItem Value="PA">Pennsylvania</asp:ListItem>
    <asp:ListItem Value="RI">Rhode Island</asp:ListItem>
    <asp:ListItem Value="SC">South Carolina</asp:ListItem>
    <asp:ListItem Value="SD">South Dakota</asp:ListItem>
    <asp:ListItem Value="TN">Tennesee</asp:ListItem>
    <asp:ListItem Value="TX">Texas</asp:ListItem>
    <asp:ListItem Value="UT">Utah</asp:ListItem>
    <asp:ListItem Value="VT">Vermont</asp:ListItem>
    <asp:ListItem Value="VA">Virginia</asp:ListItem>
    <asp:ListItem Value="WA">Washington</asp:ListItem>
    <asp:ListItem Value="WV">West Virginia</asp:ListItem>
    <asp:ListItem Value="WI">Wisconsin</asp:ListItem>
    <asp:ListItem Value="WY">Wyoming</asp:ListItem>
    <asp:ListItem Value="AB">Alberta</asp:ListItem>
    <asp:ListItem Value="BC">British Columbia</asp:ListItem>
    <asp:ListItem Value="MB">Manitoba</asp:ListItem>
    <asp:ListItem Value="NB">New Brunswick</asp:ListItem>
    <asp:ListItem Value="NL">Newfoundland and Labrador</asp:ListItem>
    <asp:ListItem Value="NT">Northwest Territories</asp:ListItem>
    <asp:ListItem Value="NS">Nova Scotia</asp:ListItem>
    <asp:ListItem Value="NU">Nunavut</asp:ListItem>
    <asp:ListItem Value="ON">Ontario</asp:ListItem>
    <asp:ListItem Value="PE">Prince Edward Island</asp:ListItem>
    <asp:ListItem Value="QC">Quebec</asp:ListItem>
    <asp:ListItem Value="SK">Saskatchewan</asp:ListItem>
    <asp:ListItem Value="YT">Yukon</asp:ListItem>
</asp:DropDownList>

將具有空值的項添加到下拉列表中,您有:

<asp:ListItem Value="" Selected="true">Select One</asp:ListItem>

並使用必需的字段驗證器,將InitialValue設置為空字符串,如下所示:

<asp:RequiredFieldValidator ID="reqState" runat="server" InitialValue="" ControlToValidate="dropState" ErrorMessage="*"></asp:RequiredFieldValidator>                                                                   

如果你有數值,那么InitialValue =“0”或者在字符串的情況下它應該是空白的。

int值

InitialValue="0"

字符串值

InitialValue="" 

完整代碼

<asp:RequiredFieldValidator ID="rfvState" runat="server" ControlToValidate="dropState" Display="Dynamic" ErrorMessage="*" ToolTip="Please select the state" InitialValue="0"/>

使用RequiredFieldValidator並將其InitialValue設置為String.Empty

<asp:RequiredFieldValidator ID="valState" runat="server"
                            ControlToValidate="dropState"
                            Display="Dynamic"
                            ErrorMessage="Please select a state in USA."
                            InitialValue=""
                            Text="*">
</asp:RequiredFieldValidator>

如果這不起作用,因為必須將DefaultValue設置為與默認String.Empty(未測試)不同的值,請將空ListItem的值更改為fe "-1" ,並相應地驗證Validator的InitialValue。

使用如下所示的RequiredFieldValidator:

<asp:RequiredFieldValidator ID="rfvState" runat="server" ControlToValidate="dropState" Display="Dynamic" ErrorMessage="Please select the state" InitialValue="-1">*</asp:RequiredFieldValidator>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM