angular-ui/ui-grid
Vedi su GitHubRow edit feature will save rows, despite them being invalid through the validation feature
Open
#5320 aperta il 14 apr 2016
good first issue
Metriche repository
- Star
- (5395 star)
- Metriche merge PR
- (Nessuna PR mergiata in 30 g)
Descrizione
When using the row edit feature, validation will set the css class, but not prevent the saving of invalid data, which is unexpected.
I created a workaround by returning an empty promise to the setSavePromise function
$scope.saveRow = function(rowEntity) {
var isValid = true;
// check if the entity is invalid on any of its columns
for (var i = 0; i < $scope.gridOptions.columnDefs.length; i++) {
if ($scope.gridApi.validate.isInvalid(rowEntity, $scope.gridOptions.columnDefs[i]) !== undefined) {
isValid = isValid && !$scope.gridApi.validate.isInvalid(rowEntity, $scope.gridOptions.columnDefs[i]);
}
}
// if the entity is valid, then update. otherwise return an empty promise
if (isValid) {
var promise = SomeService.update(rowEntity).$promise;
$scope.gridApi.rowEdit.setSavePromise(rowEntity, promise);
} else {
var promise = $q.defer();
$scope.gridApi.rowEdit.setSavePromise(rowEntity, promise.promise);
promise.resolve();
}
};