第一次用thinkphp做东西,想用到thinkphp的三大自动中的自动验证,但是一直没有实现,一开始不知道这是为什么?代码如下
<?php
namespace Admin\Model;
use Think\Model;
class NewsModel extends Model{
protected $_validate=array(
//array('res','require','文章来源必须选择',1),
array('news_author','require','文章作者必须选择',1),
array('res',array(1,2,3),'值的范围不正确!',2,'in'),
array('content','require','文章内容不能为空',1),
);
}
经过我的一段测试以后,发现
array(
array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]),
......
);
这里的第一个验证字段1,是表单提交过来的字段名,不是数据库中的字段名。我一直以为是数据库中的字段名,而且需要省略表前缀!
总结:
错误原因:
没有仔细的看手册,主观臆断!这是大忌!一定要注意改正!