forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			718 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			718 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { Translation } from "../../i18n/Translation"
 | |
| import Translations from "../../i18n/Translations"
 | |
| import { Validator } from "../Validator"
 | |
| 
 | |
| export default class FloatValidator extends Validator {
 | |
|     inputmode = "decimal"
 | |
| 
 | |
|     constructor(name?: string, explanation?: string) {
 | |
|         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
 | |
|     }
 | |
| }
 |