23 lines
692 B
TypeScript
23 lines
692 B
TypeScript
import { Translation } from "../../i18n/Translation"
|
|
import Translations from "../../i18n/Translations"
|
|
import { Validator } from "../Validator"
|
|
|
|
export default class PFloatValidator extends Validator {
|
|
constructor() {
|
|
super("pfloat", "A positive decimal number or zero")
|
|
}
|
|
|
|
isValid = (str) =>
|
|
!isNaN(Number(str)) && Number(str) >= 0 && !str.endsWith(".") && !str.endsWith(",")
|
|
|
|
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
|
|
}
|
|
}
|