diff --git a/apps/maarch_entreprise/Views/status-administration.component.html b/apps/maarch_entreprise/Views/status-administration.component.html index 1154463205148dfe6f340b46f560219cb7f67931..7604ead52437cd7dbe07ab354a405c8314920351 100755 --- a/apps/maarch_entreprise/Views/status-administration.component.html +++ b/apps/maarch_entreprise/Views/status-administration.component.html @@ -27,11 +27,12 @@ <div class="form-group"> <div class="col-sm-12"> <mat-form-field> - <input matInput [(ngModel)]="status.id" *ngIf="creationMode" maxlength="10" name="id" id="id" title="{{lang.id}}" placeholder="{{lang.id}}" (blur)="isAvailable()" + <input matInput [formControl]="statusId" [(ngModel)]="status.id" *ngIf="creationMode" maxlength="10" name="id" id="id" title="{{lang.id}}" placeholder="{{lang.id}}" (blur)="isAvailable()" type="text" pattern="^[\w.-]*$" required> <i *ngIf="creationMode" class="fa fa-circle-o" aria-hidden="true" [ngStyle]="{'color': statusIdAvailable ? 'green' : 'red'}"></i> <input matInput [(ngModel)]="status.id" *ngIf="!creationMode" maxlength="10" name="id" id="id" title="{{lang.id}}" placeholder="{{lang.id}}" required disabled> + <mat-error *ngIf="statusId.invalid">{{getErrorMessage()}}</mat-error> </mat-form-field> </div> </div> diff --git a/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts index 0126e8e3a3f0a02bd9df8e5059882e85dced17b0..261eb6e873f63dbd45ec5610dc0717e02a16f607 100644 --- a/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts +++ b/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts @@ -4,6 +4,7 @@ import { HttpClient } from '@angular/common/http'; import { Router, ActivatedRoute } from '@angular/router'; import { LANG } from '../translate.component'; import { NotificationService } from '../notification.service'; +import { FormControl, Validators} from '@angular/forms'; declare function $j(selector: any): any; @@ -36,6 +37,13 @@ export class StatusAdministrationComponent implements OnInit { loading: boolean = false; + statusId = new FormControl('', [Validators.required, Validators.pattern(/^[\w.-]*$/)]); + + getErrorMessage() { + return this.statusId.hasError('required') ? this.lang.enterValue : + this.statusId.hasError('pattern') ? this.lang.patternId : + ''; + } constructor(changeDetectorRef: ChangeDetectorRef, media: MediaMatcher, public http: HttpClient, private route: ActivatedRoute, private router: Router, private notify: NotificationService) { $j("link[href='merged_css.php']").remove(); diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.ts b/apps/maarch_entreprise/js/angular/lang/lang-en.ts index 0084e4d19a3112e44323913b7a023a09ee69b793..81f8d25aad5864993cd1e750599d754617718418 100755 --- a/apps/maarch_entreprise/js/angular/lang/lang-en.ts +++ b/apps/maarch_entreprise/js/angular/lang/lang-en.ts @@ -396,6 +396,9 @@ export const LANG_EN = { "signatureDeleted" : "Signature deleted", "saveNumericPackage" : "Save numeric package", "noNumericPackageSelected" : "No numeric package selected", - "numericPackageImported" : "Numeric package imported", + "numericPackageImported" : "Numeric package imported", + "enterValue" : "You must enter a value", + "patternId" : "Value must contain only alphanumeric, dot, underscore or dash", + "alreadyExist" : "Identifiant already exists", }; diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts index 213a889ea363e1412c9080af774b75197d4559cb..ceb87bff0012aac87ac3098daab0f16118d100b9 100755 --- a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts +++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts @@ -422,4 +422,7 @@ export const LANG_FR = { "saveNumericPackage" : "Enregistrer un pli numérique", "noNumericPackageSelected" : "Aucun pli numérique séléctionné", "numericPackageImported" : "Pli numérique correctement importé", + "enterValue" : "Vous devez entrer une valeur", + "patternId" : "La valeur doit contenir uniquement des alphanumériques, points, underscores ou tirets", + "alreadyExist" : "L'identifiant existe déjà ", };