【发布时间】:2019-05-14 08:18:15
【问题描述】:
我正在尝试验证输入类型编号。举个例子,我在 vuejs 中遇到了什么。
<input type="number" v-model="form.vat_id"/>
<!-- this is an error message for required -->
<p class="error" v-if="form.vat_id == ''">VAT ID is required</p>
<!-- this is an error message for invalid number -->
<p class="error" v-if="Number.isNaN(parseInt(form.vat_id)) && form.vat_id != ''">Please Enter Valid Number</p>
现在,即使form.vat_id 的号码无效,它也只显示一条必需的消息。在这里,我测试了 vuejs 中的无效数字返回空字符串,但输入在 UI 中显示无效数字。因此,我无法在此处提供正确的消息。我应该在这里做什么。
如果我在第二条错误消息中删除 && form.vat_id != '',那么两条消息都会在两种情况下都显示 - 空且号码无效
【问题讨论】:
-
我认为您的代码没有错误。也许问题出在 Javascript 中。
-
输入类型为“数字”我认为没有办法输入非数字字符(没有黑客)。空字符串被视为有效数字,就像 0 一样,因此将显示第一条所需的消息。
-
如果您确实需要验证增值税号,请考虑使用this component。
-
您可以使用 v-if 和 v-else-if 并检查输入字段上模糊事件的 vat_id 并根据该事件显示消息。
-
@PulkitAggarwal 这就是我要说的人...如果我输入任何非数字字符,则 v-model 值将变为空...假设-您在输入框中输入了
123456e然后 form.vat_id 是给出空字符串..
标签: javascript validation vuejs2