Validation 验证规则不起作用

Validation 验证规则不起作用,validation,cakephp,model,Validation,Cakephp,Model,请在我的cakephp模型单元应用程序中查看此验证数组: public $validate=array( 'type'=>array( 'rule'=>'notEmpty', 'message'=>'You must choose what type of property this is.' ), 'unitnum'=>array( 'rule'=>array('custom', '/^[a-

请在我的cakephp模型单元应用程序中查看此验证数组:

public $validate=array(
    'type'=>array(
        'rule'=>'notEmpty',
        'message'=>'You must choose what type of property this is.'
    ),
    'unitnum'=>array(
        'rule'=>array('custom', '/^[a-z0-9 -\'.\/&]*$/i'),
        'message'=>'Must be the name or number of your unit.'
    ),
    'unit_website'=>array(
        'rule'=>'url',
        'message'=>'You must enter a valid website address.'
    ),
    'specials'=>array(
        'rule'=>'url',
        'message'=>'You must enter a valid website address.'
    ),
    'rates'=>array(
        'rule'=>'url',
        'message'=>'You must enter a valid website address.'
    ),
    'book'=>array(
        'rule'=>'url',
        'message'=>'You must enter a valid website address.'
    ),
    'contact'=>array(
        'rule'=>'url',
        'message'=>'You must enter a valid website address.'
    )
);
除了“特价”规则外,所有规则都有效。我想我可能在验证数组、表单或数据库字段中拼写错误,但拼写正确。
然后我试着在数组中移动它。那没用。我试着删除它并手工重写。不行

我想,可能是文件/tmp/cache/models/cake\u model\u defaults\u单元造成的。我删除了它,但仍然不起作用

然后我验证了我上传的Unit.php模型定义是最新的版本。是的,是的

更奇怪的是,我尝试在数据库中添加新字段,如“foo”和“bar”,然后给它们提供验证规则(如“url”或“numeric”)。每次,无论我在表单字段中输入什么,它们的验证都不会失败,cake都会更新我的数据库


我遗漏了什么?

问题是,在@Paulo Rodrigues的帮助下,我的服务器上有两份我的模型(哎哟!)。删除了这两个字段,并安装了正确型号的新副本。

是否尝试重命名该字段?说“specials_website”也许你可以用
beforeValidate()
方法和
debug()
@pollirrata验证所有数据是否相同,但没有成功。在你的模型中,只需提交检查数据的debug就可以覆盖
beforeValidate
方法,如下所示:因为它是在扩展类中定义的,您只需覆盖。现在,只需提交表单,您将看到调试。