我的CakePHP(1.2.5。)无法验证我的表单是否正确。
$this->UserData->save($this->data);
给了我永远真正的价值。我找不到问题。 UserData.nichname的标签有效。
那是视图:
<?php
echo $form->create('UserData');
echo $form->error('UserData.nick_name');
echo $form->input('UserData.nick_name', array('id' => 'UserDatanick_name', 'rule' => 'alphaNumeric', 'label' =>'Nickname:', 'error' =>'false'));
echo $form->end( array( 'label' => ' Save ') );
?>
这是我的控制器:
class UserDatasController extends AppController {
var $name = 'UserDatas';
function add(){
if (!empty ($this->data)){
$this->UserData->create();
if ($this->UserData->save($this->data)){
$this->Session->setFlash('input is valid');
} else {
$this->Session->setFlash('input is not valid');
}
}
}
}
规则不在模型中,这是我不发布的reaseon。
验证还需要什么?
提前致谢 史蒂夫
答案 0 :(得分:1)
验证规则必须在模型中定义,而不是在视图中定义,另请参阅cakebook中的chapter about data validation。
答案 1 :(得分:0)
我相信你只在模型中指定规则,但标签会保存在$ form-&gt; input()函数中
答案 2 :(得分:0)
^^还会检查您的文件被调用的内容。 你已经将模型文件命名为user_data.php了吗?和您的控制器user_data_controller.php?
请注意您的CamelCasing下划线。如果你得到的模型文件名错误,它就不会抱怨,而是使用默认的魔术模型 - 这可能就是为什么你的模型中的验证规则没有被拿起来。