我有下面的代码来检查输入的有效性,如果输入不是数字,那么该字段变为'0'
innerInput.onKeyUp.listen((e){
if(innerInput.checkValidity() == false)innerInput.value='0';
});
这对INTEGER数字非常好,但我输入“。”后跟任意数字,输入字段变为'0',即checkValidity()将x.y理解为有效输入数以外的东西!
有什么想法吗?
答案 0 :(得分:2)
input.checkValidity()
会检查所有constraints
。这意味着对于input[type=number]
,它会检查min, max and step
。因此,如果要输入浮点数,则必须确保,min,max和step是正确的。因为你可以让min和max打开,至少你必须指定step
。如果要输入精度为5位数的浮点数(例如0.00001),则step
属性必须为0.00001
或更小。