diff --git a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts index b0b742332..45ab5fd40 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.model.ts @@ -98,7 +98,7 @@ export class DmpEditorModel { baseContext.validation.push({ key: 'version', validators: [BackendErrorValidator(this.validationErrorModel, 'version')] }); baseContext.validation.push({ key: 'status', validators: [Validators.required, BackendErrorValidator(this.validationErrorModel, 'status')] }); baseContext.validation.push({ key: 'description', validators: [Validators.required, BackendErrorValidator(this.validationErrorModel, 'description')] }); - baseContext.validation.push({ key: 'project', validators: [Validators.required, ValidJsonValidator, BackendErrorValidator(this.validationErrorModel, 'project')] }); + baseContext.validation.push({ key: 'project', validators: [Validators.required, BackendErrorValidator(this.validationErrorModel, 'project')] }); baseContext.validation.push({ key: 'organisations', validators: [BackendErrorValidator(this.validationErrorModel, 'organisations')] }); baseContext.validation.push({ key: 'researchers', validators: [BackendErrorValidator(this.validationErrorModel, 'researchers')] }); baseContext.validation.push({ key: 'profiles', validators: [Validators.required, ValidJsonValidator, BackendErrorValidator(this.validationErrorModel, 'profiles')] }); diff --git a/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.ts b/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.ts index 59e173b57..877dad01e 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/project-tab/project-tab.component.ts @@ -43,6 +43,9 @@ export class ProjectTabComponent implements OnInit { this.project = new ProjectTabModel(); this.formGroup = this.project.buildForm(); } + + this.isCreateNew = (this.formGroup.get('label').value != null && this.formGroup.get('label').value.length > 0); + this.setValidators(); } searchProject(query: string) { @@ -54,9 +57,12 @@ export class ProjectTabComponent implements OnInit { create() { this.isCreateNew = !this.isCreateNew; + this.setValidators(); + } + + setValidators() { if (this.isCreateNew) { this.formGroup.get('existProject').disable(); - // this.formGroup.get('existProject').reset(); this.formGroup.get('label').enable(); this.formGroup.get('description').enable(); } else {