表单中有值,但是校验没通过
例如通过地图获取到的定位,回填到了表单中,表单中已经有数据了,但是表单校验没通过
这是因为表单校验的 trigger 只定义了 blur,没有定义 change ,把两个都加上就可以了
receiveUserName: [
{
required: true,
message: "默认收货人名称不能为空",
trigger: ["blur", "change"],
},
],
blur 是用户手动输入失去焦点时验证,所有鼠标点击输入框输入的数据可以触发校验,但是它监听不到数据直接回填到表单中的数据,以为你没有填写数据,表单校验自然不通过
change 只要值发生改变(包括程序改变)就会触发验证
如果文章对你有帮助可以给我点个赞
额外提醒:如果还不行,请给你表单校验的属性定义一个初始化状态 例如 receiveUserName = ""
以及 prop的名字 和 输入框v-model的名字尽量一致