方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.
refs[formName],检查是否拿到了正确的需要验证的form。其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有:1.使用此方法前检查prop一定必须要写在上面,写在里面的input上或者其他任何地方都不行(el−form−itemprop属性绑定)2.el−formrules,model属性绑定,ref标识自定义表单验证的坑:一.validate/resetFields未定义。1:要验证的DOM,还没有加载出来。2:有可能this.
r
e
f
s
[
f
o
r
m
N
a
m
e
]
,
检
查
是
否
拿
到
了
正
确
的
需
要
验
证
的
f
o
r
m
。
其
次
在
拿
到
了
正
确
的
f
o
r
m
后
,
检
查
该
f
o
r
m
上
添
加
的
表
单
验
证
是
否
正
确
,
需
要
注
意
的
点
有
:
1.
使
用
此
方
法
前
检
查
p
r
o
p
一
定
必
须
要
写
在
上
面
,
写
在
里
面
的
i
n
p
u
t
上
或
者
其
他
任
何
地
方
都
不
行
(
e
l
−
f
o
r
m
−
i
t
e
m
p
r
o
p
属
性
绑
定
)
2.
e
l
−
f
o
r
m
r
u
l
e
s
,
m
o
d
e
l
属
性
绑
定
,
r
e
f
标
识
自
定
义
表
单
验
证
的
坑
:
一
.
v
a
l
i
d
a
t
e
/
r
e
s
e
t
F
i
e
l
d
s
未
定
义
。
1
:
要
验
证
的
D
O
M
,
还
没
有
加
载
出
来
。
2
:
有
可
能
t
h
i
s
.
refs[ruleForm].validate() 方式不识别。需要使用: this.
refs.ruleForm.validate();这种方式,不是你们想要的结果。解决办法:this.ticketDialog=true;//对整个表单进行重置,将所有字段值重置为初始值并移除校验结果this.
r
e
f
s
.
r
u
l
e
F
o
r
m
.
v
a
l
i
d
a
t
e
(
)
;
这
种
方
式
,
不
是
你
们
想
要
的
结
果
。
解
决
办
法
:
t
h
i
s
.
t
i
c
k
e
t
D
i
a
l
o
g
=
t
r
u
e
;
/
/
对
整
个
表
单
进
行
重
置
,
将
所
有
字
段
值
重
置
为
初
始
值
并
移
除
校
验
结
果
t
h
i
s
.
nextTick(function() { this.
refs.ticketInfoForm.resetFields();
})
或者:this. refs.ticketInfoForm.resetFields();})或者:this. refs[ruleForm].validate() 方式不识别。需要使用: this. refs.ruleForm.validate();
那么如下所示:
methods: {
submitForm(ruleForm2) {
//官网 this. refs.ruleForm.validate();那么如下所示:methods: { submitForm(ruleForm2) { //官网 this. refs[ruleForm2].validate(); //在实际使用中,会报错。validate未定义 //使用this. refs.ruleForm2.validate();成功。this. r e f s . r u l e F o r m 2. v a l i d a t e ( ) ; 成 功 。 t h i s . refs[ruleForm2].validate((valid) => { if (valid) { alert(‘submit!’); } else { console.log(‘error submit!!’); return false; } }); } } 二. 数字类型的验证, 兼容mac和windows系统。 数字类型的验证需要在 v-model 处加上 .number 的修饰符,这是 Vue 自身提供的用于将绑定值转化为 number 类型的修饰符。 如下所示:
})
或者:this. refs.ticketInfoForm.resetFields();})或者:this. refs[ruleForm].validate() 方式不识别。需要使用: this. refs.ruleForm.validate();
那么如下所示:
methods: {
submitForm(ruleForm2) {
//官网 this. refs.ruleForm.validate();那么如下所示:methods: { submitForm(ruleForm2) { //官网 this. refs[ruleForm2].validate(); //在实际使用中,会报错。validate未定义 //使用this. refs.ruleForm2.validate();成功。this. r e f s . r u l e F o r m 2. v a l i d a t e ( ) ; 成 功 。 t h i s . refs[ruleForm2].validate((valid) => { if (valid) { alert(‘submit!’); } else { console.log(‘error submit!!’); return false; } }); } } 二. 数字类型的验证, 兼容mac和windows系统。 数字类型的验证需要在 v-model 处加上 .number 的修饰符,这是 Vue 自身提供的用于将绑定值转化为 number 类型的修饰符。 如下所示: