如何在cakephp php模型部分编写验证

时间:2016-02-28 16:25:51

标签: cakephp cakephp-2.0 cakephp-1.3

有一个包含cityname列的表格位置。 查询是:

$count=$this->Location->find("all",array("conditions" => array("Location.city" => '$city',"Location.area" => '$location')));

如果条件成立,则必须显示错误消息。

在模型中  role=>"unique" 选项在那里,但它只适用于一列。 但在上面的查询中,它取决于两列。如何为此编写验证?

2 个答案:

答案 0 :(得分:0)

您是否尝试过read the documentation?

  

您可以通过提供多个字段并设置$或false来验证一组字段是唯一的:

public $validate = array(
    'email' => array(
        'rule' => array('isUnique', array('email', 'username'), false),
        'message' => 'This username & email combination has already been used.'
    )
);
  

确保在跨多个字段制作唯一规则时,在字段列表中包含原始字段。

     

如果列出的字段未包含在模型数据中,则将其视为空值。您可以考虑根据需要标记列出的字段。

答案 1 :(得分:0)

您可以在城市模型中简单地定义城市字段的验证。

   public $validate = array(
      /* Other fields */
      ...................
      'city' => array(
          'rule' => array('isUnique', array('city', 'area'), false),
          'message' => 'City and area combination already exists.'
        )
    );