哈喽刘海兄的回答我猜不能满足楼主的要求,因为验证是在填写信息的时候进行的,楼主的问题是在填写信息之后,比如现在的系统中已经有很多不完整的数据,验证只能保证新注册的数据的完整性,无法解决已有数据的不完整
我的想法是首先用后台生成所有需要的表单框(也可以有js来做,先获取需要哪些表单项,然后生成输入框),然后js询问后台哪些是需要填写的,并弹出所需的输入框,待客户填写之后,再提交至后台,然后后台存储不为空且格式正确的字段,然后再返回给js哪些还需要补充,然后js再生成需要的表单,然后再提交至后台存储,然后再返回js哪些需要补充。。。。。。如此往返直到没有需要补充的。这种方式并没有想象的那么繁琐,只要打开时js提交后台询问哪些要补充的就行了,如果后台发现还有需要补充的就刷新页面,js就随着页面的加载自动开始新一轮的询问。
上面都是流程方面的解答。具体到你的js判断实体类的问题,可以用ajax实现,可以从后台返回一个键值对,键为字段名称,值为是否为空或格式是否正确,然后客户端再处理
function objectKeyIsEmpty(obj) {let empty = null
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] === null || obj[key] === '') {
empty = true
} else {
empty = false
break
}
}
}
return empty
}