2011-10-03 131 views
0

我有一些条件是有效的,必须在几个领域,而不是一个,如何做到这一点。CakePhp:几个字段的表单验证?

一些示例对一个登记:

enterprise or firstName+lastName filled 
mobile phone number OR static phone number filled 

如何做到这一点?有没有实施的方法,或者我每次都必须自己做?

谢谢

回答

1

写自己的验证规则。蛋糕书:Custom validation rules 附加规则到企业领域什么检查它是否被填充或第一,姓是填充。将另一个规则附加到名称字段以检查名称或企业字段是否已填充。类似于手机领域。您位于模型中,因此您可以在$ this-> data中找到所有传递的字段

1

我不知道如果我理解正确的问题,但你可以创建自己的验证规则,然后应用它所需的字段(不是真的周围的其他方法)。 See here

否则CakePHP有大量的预建的验证规则下面是一个例子:

var $validate = array(
    'title' => array(
     'titleRule1' => array (
      'rule' => array('minLength', 1), 
      'required' => true, 
      'allowEmpty' => false, 
      'last' => true, 
      'message' => 'Please enter a title.' 
     ), 
     'titleRule2' => array(
      'rule' => array('between', 1, 100), 
      'message' => 'Your title must be between 1 and 100 characters long.' 
     ) 
    ), 
    'description' => array(
     'rule' => array('minLength', 1), 
     'required' => true, 
     'allowEmpty' => false, 
     'last' => true, 
     'message' => 'Please write a description.' 
    ) 
);