簡體   English   中英

為什么這個Yii驗證器不起作用?

[英]Why won't this Yii validator work?

嗨,我正在嘗試制作自己的表單驗證器,就像在默認配置下生成的LoginForm中的authenticate方法一樣。

    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字段的驗證器)起作用。

有任何想法嗎?

因為並非所有驗證器都映射到客戶端驗證器。

除此之外,我還創建了處理ajax表單驗證的代碼,並在ajaxValidation中啟用了CActiveForm

因此,現在一切正常。 我創建的驗證器正在通過Ajax驗證工作。

我遇到了同樣的問題,就我而言,不是啟用ajaxValidation,而是啟用了“安全”驗證程序以及其他多種功能。

在這里,我發表了一些幫助我解決問題的閱讀材料。 希望這會幫助其他有同樣問題的人。

  1. 我讀了一些有關“安全”驗證器的信息。 http://www.yiiframework.com/wiki/161/understanding-safe-validation-rules/
  2. 我了解AjaxValidation和ClientValidation之間的區別。 http://www.yiiframework.com/doc/api/1.1/CActiveForm
  3. 我創建了自己的驗證器類。 (在Google上搜索“自定義驗證yii”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM