program story

DropDownList 컨트롤에 RequiredFieldValidator를 추가하는 방법은 무엇입니까?

inputbox 2020. 11. 27. 08:03
반응형

DropDownList 컨트롤에 RequiredFieldValidator를 추가하는 방법은 무엇입니까?


나는 데이터베이스의 값을 표시 DropDownList하기 SqlDataSource위해 바인딩했습니다 .

을 사용하여 유효성을 검사 할 수 없습니다 RequiredFieldValidator.


대부분의 경우 다른 종류의 컨트롤을 확인하는 것처럼 처리하지만 필수 필드 유효성 검사기의 InitialValue 속성을 사용합니다.

<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="your-dropdownlist" InitialValue="Please select" ErrorMessage="Please select something" />

기본적으로 드롭 다운 목록에서 InitialValue에 설정된 1이 아닌 다른 값이 선택되면 유효성 검사가 성공합니다.

데이터 바인딩의 경우 다음과 같이 나중에 "선택하십시오"값을 삽입해야합니다.

this.ddl1.Items.Insert(0, "Please select");

드롭 다운 목록이 다음과 같다고 가정합니다.

<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>

두 가지 방법이 있습니다.

<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0"....

두 번째 방법은 비교 유효성 검사기를 사용하는 것입니다.

<asp:CompareValidator ID="re1" runat="Server" ValueToComare="0" ConroltoCompare="ddl" Operator="Equel"....

데이터 소스를 사용하는 경우 코드 숨김없이 수행 할 수있는 또 다른 방법이 있습니다.

다음 핵심 사항에 유의하십시오.

  • ListItem의는 Value="0"코드에 추가되지 소스 페이지에
  • ListItem포함하지 않으면 소스의를 덮어 씁니다 AppendDataBoundItems="true".DropDownList
  • InitialValue="0" 이것이 해당 유효성 검사기를 실행해야하는 값임을 유효성 검사자에게 알려줍니다 (다른 답변에서 지적한대로)

예:

<asp:DropDownList ID="ddlType" runat="server" DataSourceID="sdsType"
                  DataValueField="ID" DataTextField="Name" AppendDataBoundItems="true">
    <asp:ListItem Value="0" Text="--Please Select--" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvType" runat="server" ControlToValidate="ddlType" 
                            InitialValue="0" ErrorMessage="Type required"></asp:RequiredFieldValidator>
<asp:SqlDataSource ID="sdsType" runat="server" 
                   ConnectionString='<%$ ConnectionStrings:TESTConnectionString %>'
                   SelectCommand="SELECT ID, Name FROM Type"></asp:SqlDataSource>

InitialValue = "0": ddl에서 0 번째 인덱스 항목을 선택하면 초기 유효성 검사가 실행됩니다.

<asp:RequiredFieldValidator InitialValue="0" Display="Dynamic" CssClass="error" runat="server" ID="your_id" ValidationGroup="validationgroup" ControlToValidate="your_dropdownlist_id" />

참고 URL : https://stackoverflow.com/questions/2280559/how-to-add-a-requiredfieldvalidator-to-dropdownlist-control

반응형