验证数字精度的 'real' 浮点字段

Validate 'real' float field for digits precision

我想验证坐标。这些将存储为 real 数据列,来自 Postgres docs

real 4 bytes variable-precision, inexact 6 decimal digits precision

我从以下开始

@IsNumber()
@Min(-90)
@Max(90)
/* precision check */
public latitude: number;

@IsNumber()
@Min(-180)
@Max(180)
/* precision check */
public longitude: number;

并想知道如何检查这些浮点数的精度。它必须具有 6 位精度。

提前致谢

对于精度等所有自定义内容,最好的方法是编写自己的自定义验证器,您可以在其中使用正则表达式或其他方式来验证输入数据。

最简单的方法是编写验证器:https://github.com/typestack/class-validator#custom-validation-classes

更高级的是写一个自己的验证装饰器:https://github.com/typestack/class-validator#custom-validation-decorators

该包已经带有这种输入的验证器

@IsLatLong()
@IsLatitude()
@IsLongitude()