0

Zend Framework を使用しており、特定のフィールドが null または空として送信されていないことを確認したいと考えています。このチェックはどこで行うべきですか。モデルまたはコントローラー?

私はZendフォームを使用していないことに注意してください。HTMLでコーディングし、次を使用してコンテンツを取得します。

$this->_getParam('inputName');

フロントエンドでチェックするためにjsを使用しますが、jsをバイパスするのは簡単なので、バックエンドのものも必要です。

4

2 に答える 2

0

文字列がnull/空でないかどうかだけを気にする場合は、次のように簡単に実行できます。

if ($this->_getParam('inputName')) {
   echo 'input name is not null or empty';
}

注: 値 0 はこれを通過しません。ただし、適切な検証ライブラリを使用することをお勧めします。

于 2011-03-20T18:14:10.747 に答える
0

アプリケーションの設計方法に大きく依存すると思います。モデルがビジネス ロジックに依存している場合、モデル内のデータを検証することが非常に重要な場合がありますが、値が null または空であるかどうかを確認するだけの場合 (そしておそらくユーザーに気付く場合) は、コントローラーで行います。

フォームを手動でZend_Filter_Input作成したため、入力の検証とフィルタリングに役立つものを使用することができます。

$filters = array(
    'inputName' => 'StringTrim'
);

$validators = array(
    '*' => 'NotEmpty',
);

$inputFilter = new Zend_Filter_Input($filters, $validators);

$inputFilter->setData($this->getRequest()->getPost());

if ($inputFilter->isValid()) {
    echo 'Congratulations!';
} else {
    echo 'Too bad :(';
}
于 2011-03-19T19:23:58.700 に答える