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
 | |
|     }
 | |
| }
 |