1

Yiiフレームワークでは、ルールの 1 つが返された後、どのように処理しますabortか?further validationFALSE

私が達成しようとしていることは次のとおりです。

1) モデルが検証に合格しなかったことがわかった後、不要な MySQL クエリを停止します。

2) コントローラーでエラー メッセージを手動で並べ替えることなく、Web ユーザーにとってエラー メッセージがわかりやすく、わかりやすくなります。

よろしくお願いします。

4

2 に答える 2

3

つまり、グローバルな設定や解決策はありません。CActiveRecord::validate() を見ると、すべてのバリデータが呼び出されて実行されていることがわかります。

同じ属性に対して複数の検証を実行することを防ぐことができます。すべての検証ルールに対して skipOnError=true を設定する必要があります。

http://www.yiiframework.com/doc/api/1.1/CValidator/#skipOnError-detail

現在の属性にすでに検証エラーがある場合に、この検証ルールをスキップするかどうか。デフォルトは false です。

グローバル オプションを Yii に追加できると思います (実際には非常に簡単です)。

于 2012-02-09T10:55:57.823 に答える
0

ありがとうございました!

このスレッドを閲覧しているユーザーの場合:

validate()カスタム AR クラスで拡張するメソッドは、150 行目にありますyii/framework/base/CModel

于 2012-02-16T21:24:35.380 に答える