使用vue.js验证输入-v-model.number的真正含义是什么?

使用vue.js验证输入-v-model.number的真正含义是什么?,vue.js,Vue.js,如果我指定我的输入字段是数字的,带有v-model.number,那么在提交表单之前(或者更确切地说,将JSON发布到服务器之前),我可以做出哪些假设来验证数字输入?也就是说,我可以假设它在这一点上总是一个数字,因此可以集中精力测试它是否在某个范围内,比如说?还是我仍然需要测试isNan等?我与源代码进行了核对。使用.number作为后缀可通过以下函数解析输入值(即使是type=“number”)的字符串: /** * Convert a input value to a number for

如果我指定我的输入字段是数字的,带有
v-model.number
,那么在提交表单之前(或者更确切地说,将JSON发布到服务器之前),我可以做出哪些假设来验证数字输入?也就是说,我可以假设它在这一点上总是一个数字,因此可以集中精力测试它是否在某个范围内,比如说?还是我仍然需要测试isNan等?

我与源代码进行了核对。使用
.number
作为后缀可通过以下函数解析输入值(即使是
type=“number”
)的字符串:

/**
 * Convert a input value to a number for persistence.
 * If the conversion fails, return original string.
 */
export function toNumber (val: string): number | string {
  const n = parseFloat(val)
  return isNaN(n) ? val : n
}
这意味着你不能假设结果总是一个数字,但你可以假设它永远不是NaN。 然而,官方文件中并未明确说明这一点,因此可能会发生变化。
如果可能的话,我建议使用
type=“number”
,否则会像通常那样进行验证

v-model上的.number修饰符主要用于数字输入类型,它所做的是将包含数字的字符串解析为实际数字。您可以将它与输入类型文本一起使用,如果您键入数字,它将检测并解析它。它会准确地执行这些操作,请检查此项