0

我有一种情况,如果我编辑Cell1,UI Grid 将为 运行验证器Cell1,但我也想为 运行验证器Cell2。如果Cell2值不正确,那么我想将焦点Cell2放在uiGridValidateService.setValidator().

我可以使用以下语句运行验证器进行Cell2编辑Cell1,但无法突出显示Cell2

代码:

gridApi.grid.validate.runValidators(rowEntity, colDef, rowEntity['Cell2'], NaN, $scope.gridApi.grid);

如何将焦点放在 UI Grid 中的特定单元格上?

4

1 回答 1

0

我在下面解决了它,希望它能帮助有同样要求的人,

我没有尝试将焦点设置在错误字段上,而是在 afterCellEdit() 上添加了以下代码。

if (!rowEntity['$$errors' + fieldName]) {
        rowEntity['$$errors' + fieldName] = {};
    }
    rowEntity['$$errors' + fieldName][validatorName] = true;
    rowEntity['$$invalid' + fieldName] = true;

我的 fieldName 是我想在每个 cellEdit 上验证的目标字段。所以在我的情况下,即使我正在编辑 Cell1 的值,我也会传递 fieldName='Cell2' 并且它将根据我的验证器得到验证,我将作为'validatorName'传递。如果它不是正确的值,那么它会将 cell2 突出显示为红色并显示其工具提示。

希望它会帮助某人。如果有任何问题,请告诉我。

于 2016-08-04T17:13:48.263 回答