diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts index 0dd88dd60..4427f843c 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts @@ -1,4 +1,4 @@ -import { FormArray, FormControl, FormGroup } from '@angular/forms'; +import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms'; import { ValidationType } from '../../../../core/common/enum/validation-type'; import { Field } from '../../../../core/model/admin/dataset-profile/dataset-profile'; import { BaseFormModel } from '../../../../core/model/base-form-model'; @@ -52,7 +52,7 @@ export class FieldEditorModel extends BaseFormModel { buildForm(): FormGroup { const formGroup = this.formBuilder.group({ - id: [this.id], + id:[this.id,[Validators.required,Validators.pattern('^[^<_>]+$')]], // title: [this.title], page: [this.page], ordinal: [this.ordinal] @@ -62,7 +62,7 @@ export class FieldEditorModel extends BaseFormModel { formGroup.addControl('validations', new FormControl(this.validations)); formGroup.addControl('defaultValue', this.defaultValue.buildForm()); formGroup.addControl('viewStyle', this.viewStyle.buildForm()); - formGroup.addControl('visible', this.visible.buildForm()); + formGroup.addControl('visible', this.visible.buildForm()); //formGroup.addControl("data",this.data? this.data.buildForm():this.formBuilder.group({})); if (this.data) { formGroup.addControl('data', this.data.buildForm()); } else { formGroup.addControl('data', new WordListFieldDataEditorModel().buildForm()); } diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-set-editor-model.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-set-editor-model.ts index 9e3d31a44..f103114bb 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-set-editor-model.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-set-editor-model.ts @@ -1,5 +1,5 @@  -import { FormGroup } from '@angular/forms'; +import { FormGroup, Validators } from '@angular/forms'; import { FieldSet } from '../../../../core/model/admin/dataset-profile/dataset-profile'; import { BaseFormModel } from '../../../../core/model/base-form-model'; import { FieldEditorModel } from './field-editor-model'; @@ -31,14 +31,13 @@ export class FieldSetEditorModel extends BaseFormModel { buildForm(): FormGroup { const formGroup = this.formBuilder.group({ - id: [this.id], + id:[this.id,[Validators.required,Validators.pattern('^[^<_>]+$')]], ordinal: [this.ordinal], title: [this.title], description: [this.description], extendedDescription: [this.extendedDescription], hasCommentField: [this.hasCommentField] }); - const fieldsFormArray = new Array(); this.fields.forEach(item => { const form: FormGroup = item.buildForm(); diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/page-editor-model.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/page-editor-model.ts index 5b88d48b3..547e64f3c 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/page-editor-model.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/page-editor-model.ts @@ -24,7 +24,7 @@ export class PageEditorModel extends BaseFormModel { buildForm(): FormGroup { const formGroup = this.formBuilder.group({ title: [this.title, [Validators.required]], - id: [this.id, [Validators.required]], + id: [this.id, [Validators.required,Validators.pattern('^[^<_>]+$')]], ordinal: [this.ordinal] }); return formGroup; diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/section-editor-model.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/section-editor-model.ts index 2f2cb6569..ad14a15db 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/section-editor-model.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/section-editor-model.ts @@ -46,7 +46,7 @@ export class SectionEditorModel extends BaseFormModel { formGroup.addControl('fieldSets', this.formBuilder.array(compositeFieldsFormArray)); formGroup.addControl('defaultVisibility', new FormControl(this.defaultVisibility)); formGroup.addControl('page', new FormControl(this.page, [Validators.required])); - formGroup.addControl('id', new FormControl(this.id)); + formGroup.addControl('id', new FormControl(this.id, [Validators.required,Validators.pattern('^[^<_>]+$')])); formGroup.addControl('title', new FormControl(this.title)); formGroup.addControl('description', new FormControl(this.description)); formGroup.addControl('ordinal', new FormControl(this.ordinal)); diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html index 7156cc2c9..121f1b05f 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html @@ -14,6 +14,7 @@ {{'GENERAL.VALIDATION.REQUIRED' | translate}} + {{'GENERAL.VALIDATION.PATTERN-_' | translate}} {{'GENERAL.VALIDATION.REQUIRED' | translate}} + {{'GENERAL.VALIDATION.PATTERN-_' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html index 7b3c9d852..4660a5b46 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html @@ -4,7 +4,8 @@ - {{'GENERAL.VALIDATION.REQUIRED' | translate}} + {{'GENERAL.VALIDATION.REQUIRED' | translate}} + {{'GENERAL.VALIDATION.PATTERN-_' | translate}} {{pageGroup.get('title').value}} - {{'GENERAL.VALIDATION.REQUIRED' | translate}} + {{'GENERAL.VALIDATION.REQUIRED' | translate}} { this.onCallbackSuccess() }, + complete => { this.onCallbackSuccess(); this.router.navigateByUrl('/datasets/dmp/' + this.formGroup.get('dmp').value.id);}, error => this.onCallbackError(error) ); } diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html index e5b860d6f..e7869ac82 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.html @@ -23,7 +23,7 @@ - {{opt.label}} + {{opt.label}} {{'GENERAL.VALIDATION.REQUIRED' | translate}} diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts index f15c38054..b81b85840 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-field/form-field.component.ts @@ -69,8 +69,4 @@ export class FormFieldComponent extends BaseComponent implements OnInit { return this.datasetExternalAutocompleteService.queryAutocomplete(autocompleteRequestItem); } - assignDropdownItem(item: any) { - if (!item) { return null; } - return (typeof item === 'string') ? JSON.parse(item) : JSON.stringify(item); - } } diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts index 35b595ea0..823e40d48 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/dataset-description-form.model.ts @@ -225,7 +225,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel { this.validations = item.validations; if (item.multiplicity) this.multiplicity = new DatasetDescriptionMultiplicityEditorModel().fromModel(item.multiplicity); if (item.defaultValue) this.defaultValue = new DatasetDescriptionDefaultValueEditorModel().fromModel(item.defaultValue); - this.value = this.defaultValue.value && !item.value ? this.defaultValue.value : item.value; + this.value = item.value ? item.value : (this.defaultValue.value ? this.defaultValue.value : undefined); if (this.viewStyle.renderStyle === 'checkBox') { this.value = this.value === 'true'; } if (item.multiplicityItems) { item.multiplicityItems.map(x => this.multiplicityItems.push(new DatasetDescriptionFieldEditorModel().fromModel(x))); } this.data = item.data; diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index dfc93c5d4..08d189e95 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -2,7 +2,8 @@ "GENERAL": { "VALIDATION": { "REQUIRED": "Required", - "PROJECT-START-AFTER-END": "Project start date cannot be after the end date" + "PROJECT-START-AFTER-END": "Project start date cannot be after the end date", + "PATTERN-_":"Caracter \"_\" is not allowed" }, "DELETE-CONFIRMATION": { "TITLE": "Warning",