您好我正在尝试创建自己的Form验证器,就像默认配置中生成的authenticate
中的LoginForm
方法一样。
public function rules()
{
return array(
// username and password are required
array('mnemonic, target_reg, source_reg', 'required'),
// rememberMe needs to be a boolean
array('target_reg_indirection, source_reg_indirection', 'boolean'),
array('mnemonic','foo'),
);
}
这是验证方法:
public function foo($attribute,$params){
$this->addError('mnemonic', 'there was an error, you foo!');
}
它对我不起作用...请注意我是如何添加一条不应该每次都工作的规则。我刚刚做到了,所以我可以看到它是如何工作的。但我从来没有在我的视图中看到错误消息。默认验证器(如检查required
字段的验证器)可以工作。
有什么想法吗?
答案 0 :(得分:0)
因为并非所有验证程序都映射到客户端验证程序。
除此之外,我还创建了处理ajax表单验证的代码,并在ajaxValidation
中启用了CActiveForm
。
所以现在一切都很棒。我创建的验证器正在通过ajax验证工作。
答案 1 :(得分:-1)
我有同样的问题,在我的情况下不是启用ajaxValidation,而是“安全”验证器和其他东西的组合。
在这里,我发布一些帮助我解决问题的阅读材料。希望这会帮助其他人解决同样的问题。