MapComplete/src/UI/InputElement/Validators/FloatValidator.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
782 B
TypeScript
Raw Normal View History

2023-03-29 17:21:20 +02:00
import { Translation } from "../../i18n/Translation"
import Translations from "../../i18n/Translations"
import { Validator } from "../Validator"
2023-09-01 16:06:22 +02:00
import { ValidatorType } from "../Validators"
2023-03-29 17:21:20 +02:00
export default class FloatValidator extends Validator {
2023-08-08 20:44:34 +02:00
inputmode: "decimal" = "decimal"
2023-03-29 17:21:20 +02:00
2023-08-08 20:44:34 +02:00
constructor(name?: ValidatorType, explanation?: string) {
2023-03-29 17:21:20 +02:00
super(name ?? "float", explanation ?? "A decimal number", "decimal")
}
isValid(str) {
return !isNaN(Number(str)) && !str.endsWith(".") && !str.endsWith(",")
}
reformat(str): string {
return "" + Number(str)
}
getFeedback(s: string): Translation {
if (isNaN(Number(s))) {
return Translations.t.validation.nat.notANumber
}
return undefined
}
}