Dartlang中数字输入类型的checkValidity()

时间:2014-11-02 06:56:46

标签: dart

我有下面的代码来检查输入的有效性,如果输入不是数字,那么该字段变为'0'

innerInput.onKeyUp.listen((e){
  if(innerInput.checkValidity() == false)innerInput.value='0';
});

这对INTEGER数字非常好,但我输入“。”后跟任意数字,输入字段变为'0',即checkValidity()将x.y理解为有效输入数以外的东西!

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

input.checkValidity()会检查所有constraints。这意味着对于input[type=number],它会检查min, max and step。因此,如果要输入浮点数,则必须确保,min,max和step是正确的。因为你可以让min和max打开,至少你必须指定step。如果要输入精度为5位数的浮点数(例如0.00001),则step属性必须为0.00001或更小。