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

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

32 lines
842 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 FloatValidator from "./FloatValidator"
2023-03-29 17:21:20 +02:00
export default class PFloatValidator extends FloatValidator {
2023-03-29 17:21:20 +02:00
constructor() {
super("pfloat", "A positive decimal number or zero")
}
isValid(str: string) {
if (!super.isValid(str)) {
return false
}
if (!FloatValidator.formattingHasComma) {
str = str.replace(",", ".")
}
const n = Number(str)
return n >= 0
}
2023-03-29 17:21:20 +02:00
getFeedback(s: string): Translation {
const spr = super.getFeedback(s)
if (spr !== undefined) {
return spr
}
if (Number(s) < 0) {
return Translations.t.validation.nat.mustBePositive
}
return undefined
}
}