我被困在这个......让我们说,我有string1& string 2(在同一型号中),其中string1有7位数字,string2有2位数字。 然后我想将它们匹配在一起,其中string1的起始数字中的2个必须与string2相同。我在模型>>
中尝试了这段代码public function CekDigit($attribute,$params)
{
$attribute=substr($this->string1,0,-7);
$params=$this->string2;
if($this->$attribute==$params['subject'])
{
$this->addError(‘Error’, $params['message']);
return false;
}
}
在规则中,我把这段代码>>
<?php
array('string1','cekdigit','message'=>'the code is unmatched','subject'),
?>
在我制作完代码之后,我尝试用23xxxxxxx填充$ string1 但我得到一个错误,这是CException:属性model.23没有定义。谁能帮助我?非常感谢
答案 0 :(得分:0)
使用您的示例$attribute=substr($this->string1,0,-7);
行
将$属性设置为23,所以行if($this->$attribute==$params['subject'])
将针对$params['subject']
检查$this->23
。
尝试
public function CekDigit($attribute, $params)
{
$string1 = substr($this->$attribute, 0, 2);
if ($string1 == $this->string2)
{
$this->addError(‘Error’, $params['message']);
return false;
}
}