Skip to content
Snippets Groups Projects
Commit 425ae8fa authored by François Grand's avatar François Grand
Browse files

fix: set invalid parameter single value to undefined

refs #501
parent 5ece8826
No related branches found
No related tags found
1 merge request!141Resolve "PréBarrages: les valeurs erronées ne sont pas conservées"
......@@ -154,11 +154,14 @@ export abstract class GenericInputComponentDirective implements OnChanges {
this.emitValidChanged();
}
// répercussion des erreurs sur le Form angular, pour faire apparaître/disparaître les mat-error
// setTimeout(() => { // en cas de pb, décommenter le timeout
if (b) {
this.inputField.control.setErrors(null);
} else {
this.inputField.control.setErrors({ "incorrect": true });
}
// this.inputField.control.markAsTouched();
// }, 100);
}
private validateModel(): boolean {
......
......@@ -2,7 +2,7 @@
import { Component, ChangeDetectorRef, OnDestroy, Input, ElementRef } from "@angular/core";
import { Message, Observer } from "jalhyd";
import { Message, MessageCode, Observer } from "jalhyd";
import { I18nService } from "../../services/internationalisation.service";
import { NgParameter } from "../../formulaire/elements/ngparam";
......@@ -99,6 +99,9 @@ export class NgParamInputComponent extends GenericInputComponentDirective implem
msg = "internal error, model undefined";
} else {
try {
if (!this._paramDef.allowEmpty && v === undefined) {
throw new Message(MessageCode.ERROR_PARAMDEF_VALUE_UNDEFINED);
}
this._paramDef.checkValue(v);
valid = true;
} catch (e) {
......@@ -148,6 +151,9 @@ export class NgParamInputComponent extends GenericInputComponentDirective implem
}
public ngOnDestroy() {
if (!this.isValid && this.getModelValue() !== undefined) {
this.setModelValue(this, undefined);
}
this._paramDef.removeObserver(this);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment