diff --git a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html
index 6bdda7708..54926f19c 100644
--- a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html
+++ b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html
@@ -52,7 +52,10 @@
-
The field "{{field.label}}" is required
+
+ The field "{{field.title}}" required
+
+
The field {{field.label}} must match a regular expression {{field.regex}}
The field {{field.label}} custom Validation
diff --git a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.ts b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.ts
index a5742847d..c3afaa778 100644
--- a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.ts
+++ b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.ts
@@ -31,6 +31,9 @@ export class DynamicFormFieldComponent {
ngOnChanges(changeRecord) {
}
+ ngOnInit(){
+ debugger;
+ }
clearInput(){
debugger;
diff --git a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
index 33d8dcf45..425e49d49 100644
--- a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
+++ b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
@@ -22,13 +22,13 @@ export class DynamicFormCompositeFieldComponent implements OnInit {
constructor(private visibilityRulesService: VisibilityRulesService) { }
ngOnInit() {
- debugger;
console.log(this.form);
if (this.compositeField.hasCommentField == true) {
let newfield: Field = new Field();
newfield.id = 'comment_' + this.compositeField.id;
newfield.data = {label: "Comments"};
newfield.viewStyle = {renderStyle: 'freetext', cssClass: ''};
+ newfield.validations = ["None"]
this.compositeField.fields.push(newfield);
(this.form.get("fields")).push(newfield.buildForm());
diff --git a/dmp-frontend/src/app/form/dynamic-form.component.ts b/dmp-frontend/src/app/form/dynamic-form.component.ts
index 329245b01..ec0debfd0 100644
--- a/dmp-frontend/src/app/form/dynamic-form.component.ts
+++ b/dmp-frontend/src/app/form/dynamic-form.component.ts
@@ -89,6 +89,9 @@ export class DynamicFormComponent implements OnInit {
submit() {
//this.serverService.updateDataset(this.datasetId, this.form.value).subscribe()
}
+ save(){
+ debugger;
+ }
toggleSidebar() {
this.visibleSidebar = !this.visibleSidebar;
diff --git a/dmp-frontend/src/app/models/Field.ts b/dmp-frontend/src/app/models/Field.ts
index c545dd5c2..e7379dab3 100644
--- a/dmp-frontend/src/app/models/Field.ts
+++ b/dmp-frontend/src/app/models/Field.ts
@@ -1,5 +1,5 @@
import { BaseModel } from './BaseModel';
-import { FormGroup } from '@angular/forms';
+import { FormGroup, Validators } from '@angular/forms';
import { FormGenerator } from './interfaces/FormGenerator';
import { JsonSerializer } from '../utilities/JsonSerializer';
import { Serializable } from './interfaces/Serializable';
@@ -21,7 +21,7 @@ export class Field extends BaseModel implements Serializable, FormGenerat
public multiplicity: Multiplicity;
public multiplicityItems: Array = new Array();
public data: any;
- public validations: Array;
+ public validations: Array;//Array
fromJSONObject(item: any): Field {
this.id = item.id;
@@ -43,12 +43,22 @@ export class Field extends BaseModel implements Serializable, FormGenerat
return this;
}
+
+
+
buildForm(): FormGroup {
+ let validationRequired = "false";
+ if(this.validations)
+ this.validations.forEach(validation => {
+ if (validation == "REQUIRED")
+ {validationRequired = "true";}
+ });
+
let formGroup = this.formBuilder.group({
id: [this.id],
data:[this.data],
/* title: [this.title], */
- value: [this.value]/* ,
+ value: [this.value, validationRequired == "true"? Validators.required:null]/* ,
description: [this.description],
extendedDescription:[this.extendedDescription],
viewStyle: [this.viewStyle],