如何忽略必填字段验证中的第一个索引

时间:2013-04-12 03:32:21

标签: c# asp.net

我正在进行必要的字段验证检查,首先我硬编码“选择项目”到我的ddllocation,但是当我点击提交按钮时,系统不会提示我必填字段消息。我错过了什么吗?

代码背后

  ddlLocation.DataSource = dsResult.Tables[0];
  ddlLocation.DataTextField = "location_nm";
  ddlLocation.DataValueField = "location_id";
  ddlLocation.DataBind();
  ddlLocation.Items.Insert(0, "----Select an Item----");

HTML

<asp:RequiredFieldValidator ID="rfvLocation" runat="server" 
ControlToValidate="ddlLocation"Display="Dynamic" CssClass="ErrorMsg"
ErrorMessage="Mandatory" InitialValue="1"></asp:RequiredFieldValidator>

3 个答案:

答案 0 :(得分:4)

您应该将InitialValue设置为:

InitialValue = "----Select an Item----"

答案 1 :(得分:1)

更改

 ddlLocation.Items.Insert(0, "----Select an Item----");

ddlLocation.Items.Insert(0, new ListItem("----Select an Item----", "1"));

因为您已将RequiredFieldValidator的初始值设为1

您可以提供初始值,该值不会绑定到下拉列表中的数据

如果在不创建列表项的情况下插入项目,则该项目的值字段将为空值。那么你不能给RequiredFieldValidator

的初始值字段赋值

答案 2 :(得分:0)

首先,您应该通过这种方式在列表中插入项目

ddlLocation.Items.Insert(0, new ListItem("-select item-","0" ));

然后你可以在RequiredFieldValidator这样设置初始值

InitialValue = "0"

0是首选,因为可以是{1}可以是dropdown中任何其他位置的id。