我们如何在 cakePHP 2.0 中通过一次验证来验证多个字段?
How can we validate multiple fields with one validation in cakePHP 2.0?
我们如何检查名字和姓氏在 cakePHP 中的唯一性验证?
记录1:
名字:raj
姓氏:库马尔
如果我们在输入字段中输入相同的名称,它应该显示验证消息 "Record alredy Exists"。
我知道如何验证单字段验证。
如何验证 first_name 和 last_name 的组合是唯一的?
请帮帮我。
提前致谢
您需要 setup a custom validation rule 来测试 'full name' 是否唯一。例如,在您的模型中添加一个新的验证方法,如下所示:-
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 使用新的验证规则来检查名称是否唯一。
您可能想要 tweak/improve 上述自定义规则来满足您的确切要求,但它应该会让您走上正轨。
试试这个方法
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;
}
我们如何检查名字和姓氏在 cakePHP 中的唯一性验证? 记录1: 名字:raj 姓氏:库马尔
如果我们在输入字段中输入相同的名称,它应该显示验证消息 "Record alredy Exists"。
我知道如何验证单字段验证。
如何验证 first_name 和 last_name 的组合是唯一的?
请帮帮我。
提前致谢
您需要 setup a custom validation rule 来测试 'full name' 是否唯一。例如,在您的模型中添加一个新的验证方法,如下所示:-
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 使用新的验证规则来检查名称是否唯一。
您可能想要 tweak/improve 上述自定义规则来满足您的确切要求,但它应该会让您走上正轨。
试试这个方法
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;
}