1
我正在使用javascript来验证用户输入在我的aspx页面上。我很容易验证文本框和下拉列表的differenet方案。从静态属性验证dropdownlist selectedvalue列表
现在,在我的一个下拉列表中(对于国家),我需要检查它是否是允许的国家或不是针对特定服务。我已将有效的国家/地区列表存储在静态属性中。有没有一种方法来验证我的下拉列表选定值与静态属性?
任何帮助将不胜感激。
干杯, Abhi。
function validateService(source, args)
{
var country = document.getElementById('<%= ddDestCountry.ClientID %>');
var service = document.getElementById('<%= ddService.ClientID %>');
// Get allowed country list from my static class
var countryList = document.getElementById('<%= StaticProperties.EUCountryList %>');
if (service.value == "P")
{
// I want to do something like this
if (!countrylist.Contains(country.value))
{
args.IsValid = false;
}
else {
args.IsValid = true;
}
}
return;
}
更新(附加信息):静态属性是只读的,因此它不能从页面中篡改。
它是一个只读的静态属性,所以它不能被改变从aspx页面。在客户端处理它还不是个好主意吗?在客户端有没有另一种更好的方法来处理这个问题? – 2010-10-04 13:16:22
+1它至少应该在服务器端处理。客户端验证是额外的。如果用户在浏览器中关闭了JavaScript,该怎么办?客户端验证非常好,所以用户不必回发页面,但是您必须有服务器端验证才能确保信息真正有效。 – 2010-10-04 13:39:34
使用像greasemonkey这样的螺栓式mod引擎,没有像“只读”这样的东西。 Greasemonkey做的是在页面加载到客户端后附加额外的javascript。完成此操作后,greasemonkey脚本中的任何JavaScript都可以对DOM的内容执行任何操作。您无法在客户端锁定浏览器。作为一个例子,下面是一个grepmonkey脚本,用于避免使用只读值来计算启用下载链接前剩余时间的RapidShare下载延迟。 http://userscripts.org/scripts/show/10380 – FatherStorm 2010-10-04 13:53:30