Затем вы можете создать массив для хранения размытых логических значений и просто поиграть с атрибутами ng-blur и ng-class динамических ячеек в соответствии с их регистром.

я есть таблица HTML, как показано ниже:

<tbody>
    <tr ng-repeat="r in targetTable.rows">
      <td contenteditable="true" class=""></td>
      <td contenteditable="true"
          ng-repeat="column in targetTable.columns"
          ng-model="r[column.id]"
          ng-blur="!r.id? addNewRow(r[column.id], r): undefined">
      </td>             
    </tr>
</tbody>

Я использую contenteditable директиву, чтобы сделать ячейки редактируемыми.

app.directive('contenteditable', ['$sce', function($sce) {
  return {
    restrict: 'A',
    require: '?ngModel',
    link: function(scope, element, attrs, ngModel) {
      var disable = (attrs.contenteditable === "false") || !Boolean(attrs.contenteditable);
      if (!ngModel || disable) return; // do nothing if no ng-model

      // Write data to the model
      var read = function(value) {
        var html = element.html() || (typeof value === "string" ? value : "");

        // When we clear the content editable the browser leaves a <br> behind
        // If strip-br attribute is provided then we strip this out
        if (attrs.stripBr && html == '<br>') {
          html = '';
        }
        ngModel.$setViewValue(html);
      };

      // Specify how UI should be updated
      ngModel.$render = function() {
        element.html($sce.getTrustedHtml(ngModel.$viewValue || ''));
      };

      // Listen for change events to enable binding
      element.on('blur keyup change', function() {
        scope.$evalAsync(read);
      });

      setTimeout(function() {
        read(ngModel.$modelValue); // initialize
      });

    }
  };
}]);

Вы можете увидеть Jsfiddle здесь:http://jsfiddle.net/u1vbeos5/144/

Нажмите, чтобы добавить столбец, и он добавит динамический столбец. Начните вводить строку 1, после чего автоматически будет создана другая динамическая строка.

Теперь я хочу добавить обязательные проверки полей для каждой строки, чтобы при нажатии кнопки «Сохранить» запускалась проверка и выделялась вся пустая строка.

Я не уверен, как мы можем это сделать. Я считаю, что мы должны что-то сделать в конце директивы, чтобы найти пустую строку и выделить ее.

Любые входы?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос