我正在尝试验证 minLength
但它无法识别它,因为我正在使用一个函数 . 我也直接在模板中尝试过,但我没有得到任何结果 .
myComponent.html
<mat-form-field>
<input matInput placeholder="Ingresa tu celular" type="number" formControlName="celular">
<mat-error *ngIf="forma.controls['celular'].invalid">{{ errorCelular() }}</mat-error>
</mat-form-field>
myComponent.ts
celular: [ '', [Validators.required, Validators.minLength(9)] ],
errorCelular() {
return this.forma.controls.celular.hasError('required') ? 'El celular es necesario.' :
this.forma.controls.celular.hasError('minlength')? 'Mínimo 9 caracteres': '';
}
1 回答
minLength
在带有type="number"
的先前版本的角度中不起作用 . 检查this Github issue为什么 .如果您不需要输入
type="number"
,请将其更改为type="text"
,它应该可以正常工作 . 如果您需要它的类型编号,那么您应该使用自定义验证器来检查该数字是否大于最小9位数(100000000)然后使用它像 -
celular: [ '', [Validators.required, customMinValidator] ]
注意:上面只是“如何”使用它的一个例子 . 它将无法完全按预期工作,因为像000112313这样的数字条件会失败,其中minLength为9 . 但这应该会让你对如何解决它有一个公平的想法 .