我是Yii框架的新手,所以请任何人帮我解决这个问题 如何为以下验证创建自定义验证器类, 我有一个表列表,它上面有listname和types,我的验证器想要检查列表名称对于特定类型是唯一的,例如,
listName Type
test1 1
test2 1
test3 2
当我插入新的列表名称验证器时,我想检索列表名并键入并提供错误(如果它对于特定类型不是唯一的。)
答案 0 :(得分:1)
如果您正在寻找的话,那么创建自定义验证器方法非常简单。
您需要在模型中添加一个元素到rules()方法(即protected / model / youTableName.php)
return array(
array('listName', 'uniqueForType', 'type')
);
为youTableName.php创建一个由验证器名称命名的方法。
public function uniqueForType($field, $params)
{
$filedToCompare = $this->$field;
$fieldToCompareWith = $this->$params;
// Do your checking and comparing
if($weHaveAnError) {
$this->addError($field, printf("This listName already exists for type %s", $this->$params));
}
}
这应该可以解决问题。从http://www.yiiframework.com/forum/index.php/topic/20399-conditional-validation-rule/
获取该信息