数字和十进制值的 Angular 2 自定义验证 [英] Angular 2 custom validation for numbers and decimal values
问题描述
我有一个自定义验证器,用于检查输入字段中是否输入了数字.
代码如下:
import { AbstractControl, ValidatorFn } from '@angular/forms';导出类 NumberValidators {静态 isNumberCheck(): ValidatorFn {return (c: AbstractControl): {[key: string]: boolean} |空 =>{if (c.value !== undefined && (isNaN(c.value))) {返回{'值':真};}返回空;};}}
但我遇到的问题是,当我输入一个十进制值时,它会引发我不想要的验证标志.我希望输入字段具有整数和十进制数.有人可以帮我改正吗.
以下是我使用 parsleyjs 进行验证的模板代码
<label for="upperbeltposition" class="col-md-6 col-form-label">上皮带位置 (mm) <span class="required">*</span></label><div class="col-md-5"><input class="form-control input-transparent" id="upperbeltposition" type="text" formControlName="upperbeltposition" data-parsley-trigger="blur"required="required" data-parsley-type="number"/>
<div class="form-group row"><label for="platformxposition" class="col-md-6 col-form-label">平台 X 位置 (mm) <span class="required">*</span></label><div class="col-md-5"><input class="form-control input-transparent" id="platformxposition" type="text" formControlName="platformxposition" data-parsley-trigger="blur"required="required" data-parsley-type="number"/>
<div class="form-group row"><label for="platformyposition" class="col-md-6 col-form-label">平台 Y 位置 (mm) <span class="required">*</span></label><div class="col-md-5"><input class="form-control input-transparent" id="platformyposition" type="text" formControlName="platformyposition" data-parsley-trigger="blur"required="required" data-parsley-type="number"/>