【发布时间】:2013-01-03 01:37:58
【问题描述】:
我想在一个地方验证多个字段。所以在一个表格中,我包含了 4 个字段 如下
- facebook_link
- twitter_link
- google_plus_link
- linked_in_link
用户至少输入以上任何一个字段。请帮助我获得解决方案,例如,用户在表单中键入任何链接。
【问题讨论】:
标签: validation cakephp field cakephp-2.3
我想在一个地方验证多个字段。所以在一个表格中,我包含了 4 个字段 如下
用户至少输入以上任何一个字段。请帮助我获得解决方案,例如,用户在表单中键入任何链接。
【问题讨论】:
标签: validation cakephp field cakephp-2.3
您可以添加自己的验证方法。
public $validate = array(
'facebook_link' => array(
'rule' => array('validateLink'),
'message' => '...'
),
'twitter_link' => array(
'rule' => array('validateLink'),
'message' => '...'
),
'google_plus_link' => array(
'rule' => array('validateLink'),
'message' => '...'
),
'linked_in_link' => array(
'rule' => array('validateLink'),
'message' => '...'
),
);
public function validateLink($link) {
$allFieldsAreEmpty = (
empty($this->data[$this->alias]['facebook_link']) &&
empty($this->data[$this->alias]['twitter_link']) &&
empty($this->data[$this->alias]['google_plus_link']) &&
empty($this->data[$this->alias]['linked_in_link'])
);
return !$allFieldsAreEmpty;
}
【讨论】:
希望这对你有用。
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.'
),
'google_plus_link' => array(
'rule' => array('customValidation'),
'message' => 'Please enter google plus link.'
),
'linked_in_link' => array(
'rule' => array('customValidation'),
'message' => 'Please enter linkedin link.'
),
);
function customValidation($data , $filed) {
if(empty($data[$filed])) {
return false;
}
return true;
}
【讨论】: