【发布时间】:2014-02-28 09:04:28
【问题描述】:
我在 cakephp 中使用“MultivalidatableBehavior”。虽然它在以前的版本中运行良好。但它不适用于 Cakephp 2.4.0 版本。他们是否对这种行为有任何改变。因为当我使用这段代码时。
var $validationSets = array('里面提到的规则集。');
虽然我的请求通过了 Behavior 类,但它没有对所需字段进行验证。我还检查了$this->request->data 它也有效并且对于已编写规则集的同一模型。
我尝试在我的 MultivalidatableBehavior 类中使用 die 进行调试。虽然在验证期间我的请求属于setValidation(&$model, $rules = array()) { 的功能。请建议它是否与更大版本的cakephp2.3兼容。
我尝试过的代码..
型号代码:
var $actsAs = array('Multivalidatable');
var $validationSets = array(
'login' => array(
'username' => array('required' => array('rule' => array('notEmpty'), 'message' => 'Username is required !!')),
'password' => array('required' => array('rule' => array('notEmpty'), 'message' => 'Password is required !!')),
),
);
控制器调用。
$this->User->setValidation('login'); Fields are also with same name.
它没有验证如果我输入 if($this->User->setValidation('login')) 它返回 false。
【问题讨论】:
-
定义“不工作”。
-
对不起,我没有得到你。
-
你说“它不工作”,这是一个非常糟糕的问题报告:究竟是什么不工作?描述您尝试过的内容以及尝试的结果。显示任何错误消息。正确问题报告的基础知识。它不验证并不一定意味着它是行为。例如,添加一个单元测试来验证或伪造它。
-
尊敬的先生,我没有收到任何错误信息。我已经编写了我在模型和控制器类中尝试过的代码。如果它不起作用,我期待它会向我发送某种错误或异常。
if($this->User->setValidation('login'))返回 false 表示它不起作用。这是他们在我班上的一些问题,因为条件返回 false。 -
对 $this->User->setValidation('login') 的调用应该返回 false。为什么你期望有别的东西?请显示您的控制器中使用的方法。
标签: cakephp cakephp-2.3 cakephp-model