forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			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
 | 
						|
    }
 | 
						|
}
 |