0

我有一个包含来自不同文档的数据的数据网格。用户可以编辑某些列。我想限制他们只能输入一个数字。我想从客户端而不是服务器端进行,因为这意味着检查 20 个或更多文档。

好的,知道该怎么做。如果输入非数字或无效值,请创建一个函数以将数据格式化为红色背景。将函数放在 scriptBlock 中,并将名称放在每列的格式化程序字段中

function ValidNmbr(s)
{
var RegularExpression = new RegExp(/^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/);<br/>
if(RegularExpression.test(s))
{
    return s;
}
else {
    return "<span style='background-color:red'>"+s+"</span>";
}
}
4

1 回答 1

0

客户端格式强制可以被绕过(任何有萤火虫的人),所以你必须清楚这只是为了用户的舒适,而不是为了你的数据的完整性。

在服务器端:您可以有一个带有数字掩码的输入字段。不需要代码——可能是最少的工作。如果你想做那个客户端:

  1. 将 HTML5 属性用于数字格式
  2. 使用一些帮助器使旧浏览器正常运行
  3. 考虑使用 Dojo 网格。它做了很好的验证

希望有帮助

于 2012-11-01T17:12:09.403 回答