我们如何检查firstname和last name是cakePHP中的唯一验证? RECORD1: 名字:raj 姓氏:kumar
如果我们在输入字段中输入相同的名称,则应显示验证消息"记录alredy Exists"。
我知道如何验证单字段验证。
如何验证first_name和last_name的组合是否唯一?
请帮助我。
先谢谢
答案 0 :(得分:0)
您需要setup a custom validation rule来测试全名'是独特的。例如,在您的模型中添加一个新的验证方法,如下所示: -
public function validateUniqueFullName(array $data) {
$conditions = array(
'first_name' => $this->data[$this->alias]['first_name'],
'last_name' => $this->data[$this->alias]['last_name']
);
if (!empty($this->id)) {
// Make sure we exclude the current record.
$conditions[$this->alias . '.' . $this->primaryKey . ' !='] = $this->id;
}
return $this->find('count', array('conditions' => $conditions)) === 0;
}
然后将新的验证规则添加到模型的$validate
属性中: -
public $validate = array(
'first_name' => array(
'unique' => array(
'rule' => 'validateUniqueFullName',
'message' => 'Not unique'
)
)
);
其中'rule' => 'validateUniqueFullName'
指示Cake使用新的验证规则来检查名称是否唯一。
您可能希望调整/改进上述自定义规则以满足您的确切要求,但它应该让您走上正确的轨道。
答案 1 :(得分:0)
试试这种方式
public $validate = array(
'facebook_link' => array(
'rule' => array('customValidation','facebook_link'),
'message' => 'Please enter facebook link.'
),
'twitter_link' => array(
'rule' => array('customValidation','twitter_link'),
'message' => 'Please enter twitter link.'
)
);
function customValidation($data , $filed) {
if(empty($data[$filed])) {
return false;
}
return true;
}