Php 为什么这个Yii验证器不能工作?
您好,我正在尝试创建自己的表单验证程序,就像在默认配置上生成的LoginForm中的authenticate方法一样Php 为什么这个Yii验证器不能工作?,php,yii,Php,Yii,您好,我正在尝试创建自己的表单验证程序,就像在默认配置上生成的LoginForm中的authenticate方法一样 public function rules() { return array( // username and password are required array('mnemonic, target_reg, source_reg', 'required'),
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!');
}
这对我来说根本不管用。。。请注意我是如何添加了一条规则的,它不应该每次都有效。我只是想看看它是怎么工作的。但我从未在视图中看到错误消息。默认的验证器(如检查必填字段的验证器)可以正常工作
有什么想法吗?因为不是所有的验证器都映射到客户端验证器 除此之外,我还创建了处理ajax表单验证的代码,并在CActiveForm中启用了ajaxValidation
所以现在一切都很好。我创建的验证器是通过ajax验证工作的。我有同样的问题,在我的例子中,不是启用ajaxValidation,而是安全验证器和其他东西的混合 在这里,我发布了一些帮助我解决问题的阅读材料。希望这能帮助其他有同样问题的人 我读了一些关于安全验证器的书。 我理解AjaxValidation和ClientValidation之间的区别。 我创建了自己的验证器类。在谷歌上搜索自定义验证yii。
您发布的答案不是代码不工作的正确原因。你能在视图中显示你做了什么吗?以及您正在验证/保存的控制器操作?您不一定需要客户端验证器来显示错误消息,代码中还有一些其他错误。