2016-12-11 5 views
3

Yii2の検証について質問があります。したがって、このような、私のモデル検証ルールの何か:Yii2 HTML浄化装置

return [ 
    ['status', 'required', 'on' => 'update'], 
    [['status'], function ($attribute) { 
     $this->$attribute = \yii\helpers\HtmlPurifier::process($this->$attribute); 
    }], 
]; 

問題は、コンテンツが<script>alert('something')</script>であれば、それが原因清浄に空白になり、コンテンツが必要な検証に合格することです。

どうすればrequireのコンテンツを再確認できますか?それを行う良い方法は何ですか?

答えて

4

妥当性検査ルールは次々に処理されるので、2番目のルールを最初に置くだけです。

return [ 
    ['status', 'filter', 'filter' => function ($value) { 
     return \yii\helpers\HtmlPurifier::process($value); 
    }], 
    ['status', 'required', 'on' => 'update'], 
]; 
+0

うわー、それは素晴らしいです。正解ありがとう –