diff --git a/README.md b/README.md index 313d586..e817bc1 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ > `HertzBeat`的多类型支持,易扩展,低耦合,希望能帮助开发者和中小团队快速搭建自有监控系统。 + ## 🥐 模块 diff --git a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html index 73d025c..af7e7b9 100644 --- a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html +++ b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.html @@ -21,19 +21,19 @@
-
+ 监控Host - - + + 监控名称 - - + + @@ -47,10 +47,15 @@ [nzFor]="paramDefine.field" >{{ paramDefine.name }} - + {{ paramDefine.name }} - + {{ paramDefine.name }} - + {{ paramDefine.name }} - - + + {{ paramDefine.name }} - - + + @@ -140,8 +158,8 @@
- - + +
diff --git a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts index 3670414..adcc88d 100644 --- a/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts +++ b/web-app/src/app/routes/monitor/monitor-edit/monitor-edit.component.ts @@ -102,7 +102,16 @@ export class MonitorEditComponent implements OnInit { }); } - onSubmit() { + onSubmit(formGroup: FormGroup) { + if (formGroup.invalid) { + Object.values(formGroup.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({ onlySelf: true }); + } + }); + return; + } // todo 暂时单独设置host属性值 this.params.forEach(param => { if (param.field === 'host') { @@ -132,7 +141,16 @@ export class MonitorEditComponent implements OnInit { ); } - onDetect() { + onDetect(formGroup: FormGroup) { + if (formGroup.invalid) { + Object.values(formGroup.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({ onlySelf: true }); + } + }); + return; + } // todo 暂时单独设置host属性值 this.params.forEach(param => { if (param.field === 'host') { diff --git a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html index 1754783..5fff814 100644 --- a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html +++ b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.html @@ -21,16 +21,17 @@
- + 监控Host - + @@ -40,8 +41,8 @@ 监控名称 - - + + @@ -55,9 +56,14 @@ [nzFor]="paramDefine.field" >{{ paramDefine.name }} - + {{ paramDefine.name }} - + {{ paramDefine.name }} - + {{ paramDefine.name }} - - + + {{ paramDefine.name }} - - + + @@ -148,8 +167,8 @@
- - + +
diff --git a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts index 77f9a65..4adac14 100644 --- a/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts +++ b/web-app/src/app/routes/monitor/monitor-new/monitor-new.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; -import { FormBuilder, FormControl, FormGroup } from '@angular/forms'; +import { FormBuilder, FormGroup } from '@angular/forms'; import { ActivatedRoute, ParamMap, Router } from '@angular/router'; import { I18NService } from '@core'; import { TitleService } from '@delon/theme'; @@ -21,7 +21,6 @@ export class MonitorNewComponent implements OnInit { paramDefines!: ParamDefine[]; params!: Param[]; monitor!: Monitor; - profileForm: FormGroup = new FormGroup({}); detected: boolean = false; passwordVisible: boolean = false; // 是否显示加载中 @@ -84,7 +83,16 @@ export class MonitorNewComponent implements OnInit { this.monitor.name = `${this.monitor.app.toUpperCase()}_${hostValue}`; } - onSubmit() { + onSubmit(formGroup: FormGroup) { + if (formGroup.invalid) { + Object.values(formGroup.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({ onlySelf: true }); + } + }); + return; + } // todo 暂时单独设置host属性值 this.params.forEach(param => { if (param.field === 'host') { @@ -114,7 +122,16 @@ export class MonitorNewComponent implements OnInit { ); } - onDetect() { + onDetect(formGroup: FormGroup) { + if (formGroup.invalid) { + Object.values(formGroup.controls).forEach(control => { + if (control.invalid) { + control.markAsDirty(); + control.updateValueAndValidity({ onlySelf: true }); + } + }); + return; + } // todo 暂时单独设置host属性值 this.params.forEach(param => { if (param.field === 'host') {