如何将RequiredFieldValidator添加到DropDownList控件?
我有一个与 SqlDataSource
绑定的 DropDownList
来显示数据库中的值。
我无法使用 RequiredFieldValidator
进行验证。
I have a DropDownList
binded with aSqlDataSource
to display the values from the database.
I am unable to validate using a RequiredFieldValidator
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
大多数情况下,您将其视为正在验证任何其他类型的控件,但使用所需字段验证器的 InitialValue 属性。
基本上,它的意思是,如果在下拉列表中选择了 InitialValue 中设置的 1 之外的任何其他值,则验证将成功。
如果数据绑定,您将需要在后面插入“请选择”值,如下所示
For the most part you treat it as if you are validating any other kind of control but use the InitialValue property of the required field validator.
Basically what it's saying is that validation will succeed if any other value than the 1 set in InitialValue is selected in the dropdownlist.
If databinding you will need to insert the "Please select" value afterwards as follows
假设您的下拉列表是:
有两种方法:
第二种方法是使用比较验证器:
Suppose your drop down list is:
There are two ways:
the 2nd way is to use a compare validator:
如果您使用数据源,则可以使用另一种无需后台代码的方法。
请注意以下关键点:
Value="0"
的ListItem
是在源码页面,不是代码中添加的ListItem
如果不包含的话将会被覆盖DropDownList
中的AppendDataBoundItems="true"
InitialValue="0"
告诉验证器这是要执行的值应该触发该验证器(如其他答案中指出的)
示例:
If you are using a data source, here's another way to do it without code behind.
Note the following key points:
ListItem
ofValue="0"
is on the source page, not added in codeListItem
in the source will be overwritten if you don't includeAppendDataBoundItems="true"
in theDropDownList
InitialValue="0"
tells the validator that this is the value thatshould fire that validator (as pointed out in other answers)
Example:
InitialValue="0" :当在 ddl 中选择第 0 个索引项时,将触发初始验证。
InitialValue="0" : initial validation will fire when 0th index item is selected in ddl.
如果您想检查空字符串,请使用以下命令:
If you are looking to check with empty string then use the following: