如何在Ext Lib数据网格中向单元格添加验证?

时间:2012-10-30 21:00:21

标签: datagrid xpages xpages-extlib

我有一个包含来自不同文档的数据的数据网格。用户可以编辑一些列。我想限制他们只能输入一个数字。 我想从客户端而不是服务器端执行此操作,因为这意味着要检查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>";
}
}

1 个答案:

答案 0 :(得分:0)

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

在服务器端:您可以使用带数字掩码的输入字段。无需代码 - 可能是最不起作用的。如果你想做那个客户端:

  1. 将HTML5属性用于数字格式
  2. 使用some helper使旧浏览器行为
  3. 考虑使用Dojo网格。它很好validation
  4. 希望有所帮助