form表单验证问题,valid打印不出来
saveDraft(nextFlag) {
const datas = clone(this.formValidate);
datas.omitFlag = datas.omitFlag ? 1 : 0;
datas.irsName =
datas.projSysList.map((item) => item.name).join(";") || "";
datas.irsCode =
datas.projSysList.map((item) => item.code).join(";") || "";
const params = {
...datas,
id: this.projectId,
financialSource:
datas.financialSource === "其他"
? this.ruleValidate.financialSource.value
: datas.financialSource,
projectCompanyCode:
this.OrganizationListByName.find(
(e) => e.organizationName === datas.projectCompany
)?.organizationCode || "",
coordinateCompany: datas.coordinateCompanyList
.map((item) => item.value)
.join("|"),
historyProjectName: datas.historyProjectList
?.map((item) => item.value)
.join("|"),
projectProperty: datas.projectPropertyList.join("|"),
buildType: datas.buildTypeList.join("|"),
};
if (nextFlag) {
// 返回一个新的 Promise、
return new Promise((resolve, reject) => {
this.$refs.formValidate.validateField('budgetYear', (valid) => {
console.log("测试验证结果:", valid);
if (valid) {
this.saveFlag = true;
this.submitloading = true;
saveProjectInfo(params)
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
})
.finally(() => {
this.submitloading = false;
});
} else {
// 校验失败时也 resolve 或 reject,根据您的业务逻辑
reject(new Error("表单校验未通过"));
// 或者如果您想将校验失败视为正常流程:
// resolve({ status: "validation_failed" });
}
});
});
} else {
// 非 nextFlag 情况保持不变
this.submitloading = true;
return new Promise((resolve, reject) => {
saveProjectInfo(params)
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
})
.finally(() => {
this.submitloading = false;
});
});
}
},valid的没有值,然后会一直说校验未通过,改成数组就Uncaught (in promise) Error: [iView warn]: must call validateField with valid prop string!不知道该怎么解决了
已经解决了:
1.有v-if判断,需要先判断是否存在字段。
2.必须是字符串,不能是数组,例如:["name","age"]。
你的问题在于 validate
方法的用法错误:
正确的 API 应该是:
this.$refs.formValidate.validate(callback)
- 验证整个表单this.$refs.formValidate.validateField('budgetYear', callback)
- 验证单个字段saveDraft(nextFlag) {
// ... 你的数据处理逻辑 ...
if (nextFlag) {
return new Promise((resolve, reject) => {
// 验证整个表单
this.$refs.formValidate.validate((valid) => {
console.log("测试验证结果:", valid);
if (valid) {
this.saveFlag = true;
this.submitloading = true;
saveProjectInfo(params)
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
})
.finally(() => {
this.submitloading = false;
});
} else {
reject(new Error("表单校验未通过"));
}
});
});
} else {
// ... 非 nextFlag 的逻辑 ...
}
}
validate是校验整个表单吧,不支持传入字段名的
如果只校验budgetYear字段,应该有个 validateField 方法吧
this.$refs.formValidate.validateField('budgetYear', (valid) => {
console.log(valid); // true / false
});
在构建Web应用程序时,验证是一个重要的过程。 它确保我们获得的数据适当且有效存储或处理。 CodeIgniter使这项任务变得非常简单。 让我们用一个简单的例子来理解这个过程。 例子 (Example) 创建一个视图文件myform.php并将以下代码保存在application/views/myform.php 。 此页面将显示用户可以提交其姓名的表单,我们将验证此页面以确保在提交时不应为空。
为什么我的这个 el-select 没有触发校验? Demo b
问题: 输入内容,失去焦点,应该提示【请输入正确的身份证号码】,也就是走rules的第二条规则partner,而不是走第一条require。 示例代码如下: 在线demo: el-form表单示例 - JS Bin
所以我有这个代码,叫我白痴哈哈,但是我不能让它打印7。 代码: 我需要知道如何改变与函数中的参数同名的变量。 任何帮助都将不胜感激,如果你不明白这个问题,我很乐意解释更多。
本文向大家介绍详解Angular Reactive Form 表单验证,包括了详解Angular Reactive Form 表单验证的使用技巧和注意事项,需要的朋友参考一下 本文我们将介绍 Reactive Form 表单验证的相关知识,具体内容如下: 使用内建的验证规则 动态调整验证规则 自定义验证器 自定义验证器 (支持参数) 跨字段验证 基础知识 内建验证规则 Angular 提供了一些内
本文向大家介绍详解ASP.NET MVC Form表单验证,包括了详解ASP.NET MVC Form表单验证的使用技巧和注意事项,需要的朋友参考一下 一、前言 关于表单验证,已经有不少的文章,相信Web开发人员也都基本写过,最近在一个个人项目中刚好用到,在这里与大家分享一下。本来想从用户注册开始写起,但发现东西比较多,涉及到界面、前端验证、前端加密、后台解密、用户密码Hash、权限验证等等,
自定义了一个表单验证类,但是在django中当我clean_UserName这个方法执行了并抛出异常的时候,其他的验证方法还会继续执行,怎么才能在一个验证方法抛出异常后其他的方法都中止执行呢?