JSFiddle - React, Tailwind, and code Playground
HTML
<ng-form ng-app="ngFormIssue" ng-controller="tableCtrl as ctrl" name="allItemsForm" novalidate>
<table>
<thead>
<tr>
<th>Items</th>
</tr>
</thead>
<tbody>
<tr ng-form="itemForm" ng-repeat-start="item in ctrl.items">
<td>
<input ng-model="item.name" name="name" required />
</td>
</tr>
<tr>
<td colspan="2">
<textarea ng-model="item.comment" name="comment" required></textarea>
</td>
</tr>
<tr>
<td>Error for name: {{itemForm.name.$invalid}}</td>
</tr>
<tr ng-repeat-end>
<td>Error for comment: {{itemForm.comment.$invalid}}</td>
</tr>
</tbody>
</table>
<br/>
<button type="submit" ng-disabled="allItemsForm.$invalid">
SUBMIT
</button>
</ng-form>
SCSS
table {
width: 100%;
border-spacing: 0;
padding: 0;
margin: 0;
border: 1px solid black;
}
th {
text-align: left;
}
td {
padding: 5px 10px;
}
tbody {
tr:nth-child(8n + 1) {
background-color: #ECECEC;
}
tr:nth-child(8n + 2) {
background-color: #ECECEC;
}
tr:nth-child(8n + 3) {
background-color: #ECECEC;
}
tr:nth-child(8n + 4) {
background-color: #ECECEC;
}
}
textarea,
input {
width: 50%;
border: 1px solid grey;
padding: 2px;
margin: 0;
}
JavaScript
(function(angular) {
var app = angular.module("ngFormIssue", []);
app.controller("tableCtrl", function() {
var ctrl = this;
ctrl.items = [{
name: "Name 1",
comment: "Comment here.."
}, {}];
});
}(angular));