/lib/model目录下的UserModel.class.php 代码如下:
<?php
class UserModel extends Model
{
protected $_validate = array(
array('username','require','用户名必填',0,'','all'),
array('email','require','email必填',0,'','all'),
);
}
?>
我的添加用户的action测试代码
public function useradds(){
$u=D("User");
if(!$u->create()){
echo "数据创建失败";
}else{
echo "创建成功!";
}
}
模板文件代码:
<form action="__URL__/useradds" method="post">
用户名:<input type="text" name="username" />
密码:<input type="text" name="password" />
email:<input type="text" name="email" />
<!--<input type="hidden" name="uid" value="{$vo.id}" />-->
<input type="submit" value="提交" />
</form>
数据表名:think_user 字段:id(主键 自增) username password email
每次测试当输入框值为空时,居然$u->create()能成功。验证根本没起作用。这是怎么回事?
2 个解决方案
#1
public function useradds(){
$u=D("User");
if(!($u->create())){ //加了对()
echo "数据创建失败";
}else{
echo "创建成功!";
}
}
把Runtime删除试试
#2
你的那个字段验证的最后,all参数是什么意思?TP的自动验证里面有那样的参数吗?
#1
public function useradds(){
$u=D("User");
if(!($u->create())){ //加了对()
echo "数据创建失败";
}else{
echo "创建成功!";
}
}
把Runtime删除试试
#2
你的那个字段验证的最后,all参数是什么意思?TP的自动验证里面有那样的参数吗?