fixed issue with validation

This commit is contained in:
lotte
2020-06-30 16:02:32 +02:00
parent 0348d23aac
commit a8b7035aff
3 changed files with 13 additions and 11 deletions

View File

@@ -16,7 +16,7 @@
</div>
</div>
<div *ngIf="missingParameters.length > 0" class="alert alert-danger validation-error">
<div *ngIf="missingParameters.length > 0" class="mt-3 alert alert-danger validation-error">
{{'process.new.parameter.required.missing' | translate}}
<ul>
<li *ngFor="let missing of missingParameters">{{missing}}</li>

View File

@@ -15,7 +15,7 @@ import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock';
import { RequestService } from '../../core/data/request.service';
import { Router } from '@angular/router';
describe('NewProcessComponent', () => {
describe('ProcessFormComponent', () => {
let component: ProcessFormComponent;
let fixture: ComponentFixture<ProcessFormComponent>;
let scriptService;
@@ -80,7 +80,7 @@ describe('NewProcessComponent', () => {
});
it('should call invoke on the scriptService on submit', () => {
component.submitForm({ invalid: false } as any);
component.submitForm({ controls: {} } as any);
expect(scriptService.invoke).toHaveBeenCalled();
});
});

View File

@@ -85,12 +85,12 @@ export class ProcessFormComponent implements OnInit {
if (requestEntry.response.isSuccessful) {
const title = this.translationService.get('process.new.notification.success.title');
const content = this.translationService.get('process.new.notification.success.content');
this.notificationsService.success(title, content)
this.notificationsService.success(title, content);
this.sendBack();
} else {
const title = this.translationService.get('process.new.notification.error.title');
const content = this.translationService.get('process.new.notification.error.content');
this.notificationsService.error(title, content)
this.notificationsService.error(title, content);
}
})
}
@@ -115,16 +115,18 @@ export class ProcessFormComponent implements OnInit {
* @param form The NgForm object to validate
*/
private validateForm(form: NgForm) {
if (form.invalid) {
let valid = true;
Object.keys(form.controls).forEach((key) => {
if (form.controls[key].invalid) {
form.controls[key].markAsDirty();
});
return false;
valid = false;
}
return true;
});
return valid;
}
private isRequiredMissing() {
this.missingParameters = [];
const setParams: string[] = this.parameters
.map((param) => param.name);
const requiredParams: ScriptParameter[] = this.selectedScript.parameters.filter((param) => param.mandatory);