C# 在ASP.Net中搜索筛选选定数量验证
在ASP.net(C#)数据搜索页面中,我有一组下拉列表和两个文本框作为筛选字段。我想找到一种方法来验证所选的过滤器,以便用户必须提供至少2个搜索过滤器。这意味着用户必须选择至少1个下拉列表,并为一个文本框提供文本,或选择2个下拉列表 实现这一目标的最佳方式是什么C# 在ASP.Net中搜索筛选选定数量验证,c#,javascript,asp.net,.net,validation,C#,Javascript,Asp.net,.net,Validation,在ASP.net(C#)数据搜索页面中,我有一组下拉列表和两个文本框作为筛选字段。我想找到一种方法来验证所选的过滤器,以便用户必须提供至少2个搜索过滤器。这意味着用户必须选择至少1个下拉列表,并为一个文本框提供文本,或选择2个下拉列表 实现这一目标的最佳方式是什么 谢谢如果您正在使用jQuery,您可以使用它来完成所指的工作,而无需发布到服务器 下面是我模拟的完整测试页面,它将检查这些值。只要带有SearchSelect类的两个或多个select元素的值不是null或“函数将返回true。如果没
谢谢如果您正在使用jQuery,您可以使用它来完成所指的工作,而无需发布到服务器 下面是我模拟的完整测试页面,它将检查这些值。只要带有
SearchSelect
类的两个或多个select
元素的值不是null
或“
函数将返回true。如果没有,它会将未选中的框涂成红色。您还可以显示一条错误消息,让他们知道他们需要选择另一个筛选器…或某种程度的筛选器
<html>
<head>
<title></title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js"></script>
<script>
function CheckFilters() {
var count = 0;
$('.SearchSelect').addClass('badSelect');
$('.SearchSelect').each(function() {
var sl = $(this);
if (sl.val() != null && sl.val() !== "") {
count++;
sl.removeClass('badSelect');
}
});
if (count >= 2) {
$('.SearchSelect').removeClass('badSelect');
return true;
} else {
return false;
}
}
$(document).ready(function(){
$('#SubmitButton').click(function(e) {
if(!CheckFilters()) e.preventDefault();
else alert("Success"); // in your case this line will probably be excluded and you will probably do nothing which will allow the POST/GET request to process
});
});
</script>
<style>
.badSelect{
border: 1px solid red;
}
</style>
</head>
<body>
<form>
<select class="SearchSelect" id="One">
<option value="">Select A Filter</option>
<option value="hasValue">Has a Value</option>
</select><br />
<select class="SearchSelect" id="Two">
<option value="">Select A Filter</option>
<option value="hasValue">Has a Value</option>
</select> <br />
<select class="SearchSelect" id="Three">
<option value="">Select A Filter</option>
<option value="hasValue">Has a Value</option>
</select> <br />
<button type="button" id="SubmitButton">Submit</button></form>
</body>
</html>
函数CheckFilters(){
var计数=0;
$('.SearchSelect').addClass('badSelect');
$('.SearchSelect')。每个(函数(){
var sl=$(本);
如果(sl.val()!=null&&sl.val()!=“”){
计数++;
sl.removeClass('badSelect');
}
});
如果(计数>=2){
$('.SearchSelect').removeClass('badSelect');
返回true;
}否则{
返回false;
}
}
$(文档).ready(函数(){
$(“#提交按钮”)。单击(函数(e){
如果(!CheckFilters())e.preventDefault();
else alert(“Success”);//在您的情况下,此行可能会被排除,您可能不会执行任何允许POST/GET请求处理的操作
});
});
.badSelect{
边框:1px纯红;
}
选择一个过滤器
有价值
选择一个过滤器
有价值
选择一个过滤器
有价值
提交
为什么不使用RequiredfieldValidator?在搜索筛选器中,不能强制用户选择值。我需要检查所选下拉列表或键入的文本框的数量,看看它们是否满足最小值(2个值)。为所有搜索下拉列表指定一个特定的css类(组成一个)循环,并对具有值的下拉列表进行计数?你在使用jQuery吗?使用javascript检查下拉列表和文本框是否有值,如果与最低要求不匹配,则返回false。伙计,我知道我必须检查它们的值,但问题是如何检查?逐个检查没有意义。必须有一种方法来验证是否选择了某个值。顺便说一下,我所有的下拉列表都选择了第一个索引“-SELECT-”(仅供参考)