这段时间做一个项目:使用 thinkphp 做了一个自动验证,但是发现如果新增的时候,是能够进行自动验证的,但是在修改的修改的时候,会发现自动验证会失效。

验证的时候,模型是这样写的:


protected $_validate = array(
    array('title','require','标题不能为空!'),
    array('title','','标题已经存在!',0,'unique',1),
    array('name','/^[A-Za-z]+$/','标识不是纯英文',1),
    array('name','require','标识不能为空!'),
    array('name','','标识已经存在!',0,'unique',1),
);


这样写:咋一看没有问题。

但是细看就会发现:在添加操作的时候,title会验证唯一 / name 会验证是英文和唯一。

但是在修改操作的时候,就会发现他不会验证唯一。

也就是在修改的时候,可以修改成同样的字段。
要想在新增和修改的时候都要验证:


protected $_validate = array(
    array('title','require','标题不能为空!'),
    array('title','','标题已经存在!',0,'unique'),
    array('name','/^[A-Za-z]+$/','标识不是纯英文'),
    array('name','require','标识不能为空!'),
    array('name','','标识已经存在!',0,'unique'),
);



点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部