如上图所示,在使用siyucms做表单提交的时候,明明没有“状态”字段,也不存在必填项目,但是在提交的时候却提示“状态”不能为空。经过排查,发现这个系统在每个模块生成的时候,都会生成一个“验证器”:
在表单提交的时候,会先经过验证器进行验证:
顺藤摸瓜找到验证器,发现验证器的规则如下:
原来,最初在模块建立的时候默认生成了“状态”字段,验证器也自动添加了该字段的验证规则。在删除该字段后,验证器并不能自动更新,因此有三种办法能够解决该问题:
1.手动修改验证器规则,删掉对“状态”字段的验证;
2.在“模块管理”模块中,重新生成验证器文件,该操作会对原文件进行备份,然后产生新的验证器文件;
3.在字段管理模块中将该字段取消“必填”属性,然后再删除该字段。