Releases: Ninja-Squad/ngx-valdemort
v6.0.0
⚠ BREAKING CHANGES
- ngx-valdemort now targets Angular 12.0.0 and Ivy only. If you want to use it with Angular 11.x or View Engine, stick to the previous version of ngx-valdemort. Partial Ivy compilation is now enabled, allowing ngcc to skip this package and you to have faster builds! 🚀
Features
- enable Ivy partial compilation (5166464)
v5.1.0
Features
The template of the valFallback
directive is used for all the errors that exist on the form control but are not handled by any of the specific error templates:
<val-default-errors>
<ng-template valError="required" let-label>{{ label }} is mandatory</ng-template>
<ng-template valError="max" let-error="error" let-label>{{ label }} must be at most {{ error.max | number }}</ng-template>
<ng-template valFallback let-label let-type="type" let-error="error">{{ label }} has an unhandled error of type {{ type }}: {{ error | json }}</ng-template>
</val-default-errors>
- allow throwing on missing control (c2b739b)
This adds a configuration option called shouldThrowOnMissingControl
that checks if the control is not found, if set to a function that returns true.
It is set to a function that returns false by default, so this is not breaking change.
This allows to catch situations where the controlName has been wrongly specified:
<input id="firstName" name="firstName" [(ngModel)]="user.firstName" #firstNameCtrl="ngModel" required/>
<!-- the control name mentions lastName whereas the control is firstName -->
<val-errors controlName="lastName" id="firstNameErrors">
In that case, if the new option is enabled, valdemort will throw:
ngx-valdemort: no control found for controlName: 'lastName'.
As the option accepts a function, it can easily be enabled in dev and tests, but disabled in production:
config.shouldThrowOnMissingControl = () => !environment.production;
v5.1.0-beta.1
Features
The template of the valFallback
directive is used for all the errors that exist on the form control but are not handled by any of the specific error templates:
<val-default-errors>
<ng-template valError="required" let-label>{{ label }} is mandatory</ng-template>
<ng-template valError="max" let-error="error" let-label>{{ label }} must be at most {{ error.max | number }}</ng-template>
<ng-template valFallback let-label let-type="type" let-error="error">{{ label }} has an unhandled error of type {{ type }}: {{ error | json }}</ng-template>
</val-default-errors>
v5.1.0-beta.0
Features
- allow throwing on missing control (c2b739b)
This adds a configuration option called shouldThrowOnMissingControl
that checks if the control is not found, if set to a function that returns true.
It is set to a function that returns false by default, so this is not breaking change.
This allows to catch situations where the controlName has been wrongly specified:
<input id="firstName" name="firstName" [(ngModel)]="user.firstName" #firstNameCtrl="ngModel" required/>
<!-- the control name mentions lastName whereas the control is firstName -->
<val-errors controlName="lastName" id="firstNameErrors">
In that case, if the new option is enabled, valdemort will throw:
ngx-valdemort: no control found for controlName: 'lastName'.
As the option accepts a function, it can easily be enabled in dev and tests, but disabled in production:
config.shouldThrowOnMissingControl = () => !environment.production;