私はZendアプリケーションに取り組んでいますが、Zendの経験はあまりないので、RubyOnRailsの経験に頼っています。Zend Model validation
私はいくつかの記事から、ほとんどの検証がフォームレベルで実装されていることを発見しました。Zend_Formです。しかし、私は少し奇妙に見えます - モデルレベルで検証する方法 - フォームデータに基づいてモデルを作成し、$model->isValid();
のようなsmthを実行すると、フォームの投稿要求なしでいくつかのモデルを作成するので意味があります。
私の現在のモデルの流れ:
ProductMapper extends Zend_Db_Table
Product extends Zend_Db_Table_Row
そして、私は私が単にisValid
メソッド内で正規表現で検証を行うことができますことを認識し、私がしたい
$mapper = new ProductMapper();
$product => $mapper->find(...);
// Do some staff with this model
// And want to check if it's valid before saving
if ($product.isValid()) {
$product.save(); // Zend_Db_Table_Row method
} else {
...
}
のようなものをやっている与えられましたZend_Form
からすでに実装されているメソッドを使用することができます。addValidator
、addFilter
など、その有用なすべてのものがあります。
また、Zendのモデルを管理する正しい方法はありますか?
ご協力いただきありがとうございます。あなたはZend_Formのと同じフィルタおよび/またはバリデータを使用することができますが、どこのことができます。この
$validator = new Zend_Validate_Allnum();
if ($validator->isValid($data)
do some code
または
$filter = new Zend_Filter_StringTrim();
$filteredVal = $filter->filter($val);
ようなので、あなたの行クラスで独自のメソッドのisValid()を作成することができます
見た目が簡単です。私はZendのlibフォルダをチェックしたはずです:)ありがとう! – fantactuka