如何使用从数据库预填充的 vuejs 字段进行验证?

Posted

技术标签:

【中文标题】如何使用从数据库预填充的 vuejs 字段进行验证?【英文标题】:how can I validate with vuejs fields that are prepopulated from database? 【发布时间】:2018-12-22 02:33:41 【问题描述】:

我想在 vuejs 中验证来自表单的输入,并且在预填充数据时,我希望将输入转换为只读。

<input type="number" name="cf_962" class="form-control" v-model="fillProfile.cf_962" step="0.1" :readonly="(fillProfile.cf_962>0.00) ? true : false">

现在的问题是,如果值高于 0,我总是在输入上写入,输入是只读的,我不希望这样。如何使用 vuejs 2 做到这一点?...谢谢。

【问题讨论】:

那么在(fillProfile.cf_962&gt;0.00) 的情况下,您是否希望只读属性为真,因为这似乎是您提供的代码的作用 是的,主题是当我在输入上写入时总是验证,我不希望只有在将数据预加载到我的表单时才需要验证。 【参考方案1】:

使用 v-once 指令可以轻松完成您想要实现的目标

<input type="number" name="cf_962" class="form-control" v-model="fillProfile.cf_962" step="0.1" :readonly="(fillProfile.cf_962>0.00) ? true : false" v-once>

如文档中所述

您还可以执行不更新的一次性插值 使用 v-once 指令更改数据,但请记住,这将 也会影响同一节点上的任何其他绑定

v-once 将允许您为具有预填充数据的输入设置只读,而不是为未预填充的输入设置只读。这件事只会发生一次,所以下次你在输入上写它不会再影响只读了。

【讨论】:

您好,正如您在上面告诉我的那样,我使用 v-once 进行了测试,但没有工作,数据库中的值未填充到输入中.. 显示输入为空而没有值。

以上是关于如何使用从数据库预填充的 vuejs 字段进行验证?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确预填充颤振表单字段?

带有预填充数据的 Angular2 表单验证

如何使用jquery预填充字段

输入时验证、预填充和可能阻塞

当浏览器预填充表单字段时,AngularJS“ng-submit”有问题吗?

WTForms-如何预填充文本区域字段?