如果我已经指定我的输入字段是数字的v-model.number
,那么在表单提交之前我可以做出什么假设来验证数字输入(或者更确切地说,将JSON发布到服务器上)?即,我可以假设此时它总是一个数字,因此可以集中精力测试它是否落在一定范围内吗?或者我还需要测试isNan等吗?
答案 0 :(得分:1)
我检查过来源。使用.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"
,否则就像通常那样进行验证。