在浏览器的开发者工具中查看控制台输出,可能会有关于Vue或表单组件的错误或警告信息,这些信息对定位问题非常有帮助。 通过以上步骤,您应该能够定位并解决this.$refs.form.validate不生效的问题。如果问题仍然存在,建议进一步检查表单组件的文档或寻求社区的帮助。
this.$refs['registerInfo'].validate((valid)=>{console.log(valid);if(!valid){console.log('error submit!!');returnfalse;}else{console.log('submit!');returntrue;}}); 这段方法就不会执行什么都不会输出
function validatePass(rule: any, value: string | number, callback: any): any { // 只能输入数字且小数点后最多两位 const reg = /^\d+(?=\.{0,1}\d{0,2}$|$)/; if (value) { if (typeof value === 'string' && value.charAt(0) === '-') { return callback(new Error('error!
}, 因为我的specialName初始化时,没有定义所以才导致没有执行到callback()回调函数,最终导致this.$refs[formName].validate((valid) =>{}不执行的错误
一、前言在开发Vue项目过程中,应用element-ui做表单验证遇到this.$refs[formName].validate()提示validate()未定义的问题。 二、问题原因要验证的DOM,还没有加载出来。 三、解决方法首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form(有时候获取到数组,需要按下标取值)。其次在拿到了正确的form...
this.$refs[formName].validate((valid) =>{} 无效 - 搬砖的苦行僧 - 博客园 (cnblogs.com)每一个 if 都要对应了一个 else 并且每个条件 下 都要 callback 确保 在不同情况下 都会执行callback所以要在验证时加上else的callback(),具体可看下面的opMoney(在最后)。rules: { opMoney:[{ //如此代码...
2。打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form。查看绑定的元素是否写对 3。如果前两个都没有问题,那么就是你的自定义的校验有问题,没有走通,这也是我踩过的坑。 你可以依次注释掉的一个校验规则,看看注释掉哪个,功能实现了,就说明哪个的校验规则有问题 ...
确保在每一种情况下都会执行callback 错误代码:在输入了电话并且验证通过的时候就会没有返回,让表单校验失效。 constvalidateMobileMethod=(rule,value,callback)=>{if(value){if(!validateMobile(value)){callback(newError("长度不能超过50位"));}// 这里缺少了value && validateMobile(value) 的情况的返回!!
首先确保每个验证函数一定调用了callback()函数,在验证不通过、通过时都要调用callback()函数,这里return callback()与callback()都可以;如果还是有问题,再打印this.$refs[formName]如果为空说明调用或表单有问题。 <script> import ElCol from "element-ui/packages/col/src/col"; export default { components:...