dpb35161 2015-02-04 04:47
浏览 78
已采纳

yii2类验证器不存在

Class extends validators.

namespace app\myclass;
use yii\validators\Validator;
class telefoneValidator extends Validator
{
    public function validateAttribute($model, $attribute) {
        parent::validateAttribute($model, $attribute);
        if (!preg_match("^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$", $model->$attribute))  {
            $this->addError($model, $attribute, 'error');

        }
    }           
}

Class app\models\user rules validation/

namespace app\models;

    use Yii;
    use app\myclass\telefoneValidator;

        public function rules()
        {
            return [         
                ['telefone', 'telefoneValidator']
            ];
        }

When you start getting error Exception 'ReflectionException' with message:

Class telefoneValidator does not exist
  • 写回答

1条回答 默认 最新

  • doumei7420 2015-02-04 05:04
    关注

    This declaration is for inline validators that declared as the same class methods (for example when you add public function validateTelefone($attribute, $params) { ... } and 'validateTelephone' as second parameter of validation rule).

    For external validators that stored in separate classes you should provide full class name with namespace like so:

    use app\myclass\telefoneValidator;
    
    ...
    
    ['telefone', telefoneValidator::className()],
    

    or

    ['telefone', 'app\myclass\telefoneValidator'],
    

    Additional notes: I recommend change validator name to TelefoneValidator, since it violates framework classes naming convention.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。