Commit c412f91a authored by Mathias Chouet's avatar Mathias Chouet :spaghetti:
Browse files

MàJ regex format numérique

Showing with 13 additions and 12 deletions
+13 -12
......@@ -16,7 +16,7 @@
<mat-form-field data-testclass="numeric-input">
<input matInput [placeholder]="uitextDisplayAccuracy" #dp="ngModel" name="dp" inputmode="numeric"
[ngModel]="displayPrec.value" (ngModelChange)="!dp.invalid ? displayPrec.setValue($event): null"
pattern="-?([0-9]+\.)?[0-9]+" required [appJalhydModelValidation]="displayPrec">
pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$" required [appJalhydModelValidation]="displayPrec">
<mat-error *ngIf="dp.invalid && (dp.dirty || dp.touched)">
<div *ngIf="dp.errors.required || dp.errors.pattern">
......@@ -32,7 +32,7 @@
<mat-form-field data-testclass="numeric-input">
<input matInput [placeholder]="uitextComputeAccuracy" #cp="ngModel" name="cp" inputmode="numeric"
[ngModel]="computePrec.value" (ngModelChange)="!cp.invalid ? computePrec.setValue($event): null"
pattern="-?([0-9]+\.)?[0-9]+" required [appJalhydModelValidation]="computePrec">
pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$" required [appJalhydModelValidation]="computePrec">
<mat-error *ngIf="cp.invalid">
<div *ngIf="cp.errors.required || cp.errors.pattern">
......@@ -48,7 +48,7 @@
<mat-form-field data-testclass="numeric-input">
<input matInput [placeholder]="uitextNewtonMaxIteration" #nmi="ngModel" name="nmi" inputmode="numeric"
[ngModel]="newtonMaxIter.value" (ngModelChange)="!nmi.invalid ? newtonMaxIter.setValue($event): null"
pattern="-?([0-9]+\.)?[0-9]+" required [appJalhydModelValidation]="newtonMaxIter">
pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$" required [appJalhydModelValidation]="newtonMaxIter">
<mat-error *ngIf="nmi.invalid && (nmi.dirty || nmi.touched)">
<div *ngIf="nmi.errors.required || nmi.errors.pattern">
......
......@@ -14,22 +14,22 @@
<div *ngIf="isMinMax" class="min-max-step-container">
<form>
<mat-form-field>
<input matInput class="form-control" type="number" inputmode="numeric" name="min-value" min="0" step="0.01"
[placeholder]="uitextValeurMini" [(ngModel)]="param.minValue" required pattern="-?([0-9]+\.)?[0-9]+">
<input matInput class="form-control" type="number" inputmode="numeric" name="min-value" step="0.01"
[placeholder]="uitextValeurMini" [(ngModel)]="param.minValue" required pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$">
<mat-error>{{ uitextMustBeANumber }}</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput class="form-control" type="number" inputmode="numeric" name="max-value" min="0" step="0.01"
[placeholder]="uitextValeurMaxi" [(ngModel)]="param.maxValue" required pattern="-?([0-9]+\.)?[0-9]+">
<input matInput class="form-control" type="number" inputmode="numeric" name="max-value" step="0.01"
[placeholder]="uitextValeurMaxi" [(ngModel)]="param.maxValue" required pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$">
<mat-error>{{ uitextMustBeANumber }}</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput class="form-control" type="number" inputmode="numeric" name="step-value" min="0" step="0.01"
[placeholder]="uitextPasVariation" [(ngModel)]="param.stepValue" required pattern="-?([0-9]+\.)?[0-9]+">
<input matInput class="form-control" type="number" inputmode="numeric" name="step-value" step="0.01"
[placeholder]="uitextPasVariation" [(ngModel)]="param.stepValue" required pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$">
<mat-error>{{ uitextMustBeANumber }}</mat-error>
</mat-form-field>
......
......@@ -71,8 +71,9 @@ export class DialogEditParamValuesComponent implements OnInit {
* regular expression pattern for values list validation (depends on decimal separator)
*/
public get valuesListPattern() {
// standard pattern for decimal separator "." : ^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$
const escapedDecimalSeparator = (this.decimalSeparator === "." ? "\\." : this.decimalSeparator);
const numberSubPattern = "-?([0-9]+" + escapedDecimalSeparator + ")?[0-9E]+";
const numberSubPattern = `^-?([0-9]*${escapedDecimalSeparator})?([0-9]+[Ee]-?)?[0-9]+$`;
const re = numberSubPattern + "(" + this.separatorPattern + numberSubPattern + ")*";
return re;
}
......@@ -81,7 +82,7 @@ export class DialogEditParamValuesComponent implements OnInit {
* accepted separator: everything but [numbers, E, +, -, decimal separator], any length
*/
public get separatorPattern() {
return "[^0-9-+E" + this.decimalSeparator + "]+";
return "[^0-9-+Ee" + this.decimalSeparator + "]+";
}
public get selectedValueMode() {
......
<mat-form-field>
<input matInput #inputControl="ngModel" class="form-control" type="text" inputmode="numeric"
[id]="inputId" [name]="inputId" [disabled]="isDisabled" [(ngModel)]="uiValue" [placeholder]="title"
pattern="-?([0-9]+\.)?[0-9]+" required>
pattern="^-?([0-9]*\.)?([0-9]+[Ee]-?)?[0-9]+$" required>
<mat-error>{{ errorMessage }}</mat-error>
</mat-form-field>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment