2014-07-04 55 views
0

我想在我的模型中修改我的验证。cakephp验证模型中的两个字段是唯一的

我需要检查是否(FIELD1和FIELD2)是唯一的。例如

FIELD1 = “mattfacer” //用户名 FIELD2 = “1192” //选择的显示ID

我需要检查数据库以查看是否FIELD1和FIELD2已被使用。如果不是,它应该通过验证。如果显示ID为1192,并且使用了用户名“mattfacer”,则返回false以进行验证。

这可能吗?我正在考虑自定义验证功能,但不确定我会在哪里调用它?

谢谢。

用户名和显示ID在它们自身中并不是唯一的..这是两者的组合,它们需要是唯一的。因此,有可能是被允许的以下

用户名= mattfacer displayid = 6609

用户名= suziefacer displayid = 6609

那些将被允许。

[/编辑]

+1

退房[验证唯一性](http://www.dereuromark.de/2011/10/07/maximum-power-for-your-validation-rules /)。 – mark

回答

0
// you may be use this 
<?php 
public $validate = array('FIELD1' => array('beta' => array(
              'rule' => 'isUnique', 
              'message' => 'This FIELD1 alreay exists!', 
             )), 
    'FIELD2'=> array('beta' => array(
              'rule' => 'isUnique', 
              'message' => 'This FIELD2 alreay exists!', 
             ) 
         ); 
?> 
+0

,检查是否每一个都是唯一的 - 但我需要它来检查FIELD1和FIELD2的组合。例如,可能有其他客户使用该显示ID,但他们的用户名会有所不同,所以没关系。检查显示ID是唯一的将会失败..但是当包含用户名时,它会使其唯一 - 这是否有意义? –

相关问题