diff --git a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.controller.ts b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.controller.ts
index 937815c4e7..c453a4b91f 100644
--- a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.controller.ts
+++ b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.controller.ts
@@ -42,6 +42,8 @@ export class EditProjectController {
*/
private projectOnRemove: () => void;
+ private editProjectForm: ng.IFormController;
+
/**
* Default constructor that is using resource injection
*/
@@ -84,4 +86,12 @@ export class EditProjectController {
return this.editProjectService.checkEditingProgress() === null;
}
+ /**
+ * Returns true if input data is invalid.
+ *
+ * @returns {boolean}
+ */
+ isInvalid(): boolean {
+ return this.editProjectForm && Object.keys(this.editProjectForm.$error).length > 0;
+ }
}
diff --git a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.html b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.html
index 2f262cb5ae..25a7e42ec8 100644
--- a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.html
+++ b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/edit-project.html
@@ -1,8 +1,9 @@
-
@@ -21,7 +22,7 @@
ng-click="editProjectController.projectTemplateOnCancel()">
diff --git a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.controller.ts b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.controller.ts
index 20de937976..05862635e0 100644
--- a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.controller.ts
+++ b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.controller.ts
@@ -46,6 +46,8 @@ export class ProjectMetadataController {
*/
/* tslint:disable */
private templateName: string;
+
+ private projectForm: ng.IFormController;
/* tslint:enable */
/**
* Callback to check uniqueness of project name.
diff --git a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.directive.ts b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.directive.ts
index 41e8077834..95fb7238f9 100644
--- a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.directive.ts
+++ b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.directive.ts
@@ -36,7 +36,8 @@ export class ProjectMetadata implements ng.IDirective {
this.scope = {
origTemplate: '=template',
templateName: '@',
- isProjectNameUnique: '&'
+ isProjectNameUnique: '&',
+ projectForm: '='
};
}
diff --git a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.html b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.html
index ec6df5731a..0d271ccc80 100644
--- a/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.html
+++ b/dashboard/src/app/workspaces/create-workspace/project-source-selector/edit-project/project-metadata/project-metadata.html
@@ -1,8 +1,6 @@