good first issue
説明
clearError function when clearing the last error is not setting the $$invalid to false (or deleting the $$invalid). clearError should have this code at the end
if(Object.getOwnPropertyNames(rowEntity['$$errors' + colDef.name]).length === 0 {
delete rowEntity['$$invalid' + colDef.name];
}