CakePHP数据验证2输入字段
我遇到的问题是,我知道如何为单个字段编写验证代码,但这里我想将“成人”字段和“特许”字段一起比较,如果它们的总和小于“1”,则给出一个错误 这里有什么建议都可以CakePHP数据验证2输入字段,php,html,cakephp,Php,Html,Cakephp,我遇到的问题是,我知道如何为单个字段编写验证代码,但这里我想将“成人”字段和“特许”字段一起比较,如果它们的总和小于“1”,则给出一个错误 这里有什么建议都可以 谢谢您可以在您的模型上创建一个自定义的验证规则,类似这样 //View echo $this->Form->input('adult', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=&
谢谢您可以在您的模型上创建一个自定义的验证规则,类似这样
//View
echo $this->Form->input('adult', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
echo $this->Form->input('concession', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
//Model
...
在验证数组中
function atLeastOneSelected($data)
{
if (empty($this->data[$this->alias]['adult']) && empty($this->data[$this->alias]['concession'])) {
// both fields are empty
return false;
}
return true;
}
您可以在您的模型上创建一个自定义验证规则,如下所示
//View
echo $this->Form->input('adult', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
echo $this->Form->input('concession', array('options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4'), 'default' => '0'));
//Model
...
在验证数组中
function atLeastOneSelected($data)
{
if (empty($this->data[$this->alias]['adult']) && empty($this->data[$this->alias]['concession'])) {
// both fields are empty
return false;
}
return true;
}
很高兴我能帮忙!您可能需要检查我的示例是否在所有情况下都有效(例如,在模型中保存其他字段而不更新这些字段时),但基于此示例,我认为您将能够创建适当的验证规则。是的,它工作得非常好,我只是对其进行了调整,以显示自定义错误消息,但它的核心工作非常出色。谢谢祝你的项目好运!哦,我对我的例子做了一个小小的修改;我使用的是
$this->name
,但将其更改为$this->alias
,这样,如果您使用别名附加模型,它也可以工作:)很高兴我能提供帮助!您可能需要检查我的示例是否在所有情况下都有效(例如,在模型中保存其他字段而不更新这些字段时),但基于此示例,我认为您将能够创建适当的验证规则。是的,它工作得非常好,我只是对其进行了调整,以显示自定义错误消息,但它的核心工作非常出色。谢谢祝你的项目好运!哦,我对我的例子做了一个小小的修改;我使用的是$this->name
,但将其更改为$this->alias
,这样,如果您使用别名附加模型,它也可以工作:)