level 2
HelloCRSir
楼主
这是我的模板代码:
<form action="__ACTION___post" method="post">
用户名:<input type="text" name="username" /><br />
密码:<Input type="password" name="password" /><br />
密码重复:<input type="password" name="notepassword" /><br />
E-mail:<input type="text" name="email" /><br />
<input type="submit" value="submit" />
</form>
这是我的Action代码
public function index_post() {
$_user = D('User');
if($_user->create()) {
if($_user->add()) {
$this->success('添加成功');
}else{
$this->error('添加失败');
}
}else{
$this->error($_user->getError());
}
}
这是我的model代码:
class UserModel extends Model {
protected $_validate = array(
array('username','require','用户名必须存在!!!'),
array('username','checklen','用户名长度不正确',0,'callback',1),
array('password','require','密码不能为空',1,'regex',1),
array('password','notepassword','密码和密码重复必须一致',1,'confirm',1),
array('email','email','Email格式不正确',2,'regex',1)
);
protected $_map = array(
'username'=>'name',
);
public function checklen($_string) {
if (strlen($_string) < 3 || strlen($_string) > 30) {
return false;
}else {
return true;
}
}
}
这是数据库结构

恳请各位帮帮忙,为什么我写了字段映射了以后,
protected $_map = array(
'username'=>'name',
);
对于
array('username','require','用户名必须存在!!!'),
array('username','checklen','用户名长度不正确',0,'callback',1),
就无效了,
但当把上面的改为
array('name','require','用户名必须存在!!!'),
array('name','checklen','用户名长度不正确',0,'callback',1),
它又有效了,我用的是ThinkPHP3.0,
现在出现这样的结果把我的头都搞大了,真不知道为什么,请大家帮帮忙了,谢谢!!
2012年07月31日 14点07分
1
<form action="__ACTION___post" method="post">
用户名:<input type="text" name="username" /><br />
密码:<Input type="password" name="password" /><br />
密码重复:<input type="password" name="notepassword" /><br />
E-mail:<input type="text" name="email" /><br />
<input type="submit" value="submit" />
</form>
这是我的Action代码
public function index_post() {
$_user = D('User');
if($_user->create()) {
if($_user->add()) {
$this->success('添加成功');
}else{
$this->error('添加失败');
}
}else{
$this->error($_user->getError());
}
}
这是我的model代码:
class UserModel extends Model {
protected $_validate = array(
array('username','require','用户名必须存在!!!'),
array('username','checklen','用户名长度不正确',0,'callback',1),
array('password','require','密码不能为空',1,'regex',1),
array('password','notepassword','密码和密码重复必须一致',1,'confirm',1),
array('email','email','Email格式不正确',2,'regex',1)
);
protected $_map = array(
'username'=>'name',
);
public function checklen($_string) {
if (strlen($_string) < 3 || strlen($_string) > 30) {
return false;
}else {
return true;
}
}
}
这是数据库结构

恳请各位帮帮忙,为什么我写了字段映射了以后,protected $_map = array(
'username'=>'name',
);
对于
array('username','require','用户名必须存在!!!'),
array('username','checklen','用户名长度不正确',0,'callback',1),
就无效了,
但当把上面的改为
array('name','require','用户名必须存在!!!'),
array('name','checklen','用户名长度不正确',0,'callback',1),
它又有效了,我用的是ThinkPHP3.0,
现在出现这样的结果把我的头都搞大了,真不知道为什么,请大家帮帮忙了,谢谢!!