ホームページ  >  記事  >  バックエンド開発  >  thinkphp データ検証をどのレイヤーに配置するかという問題については?

thinkphp データ検証をどのレイヤーに配置するかという問題については?

WBOY
WBOYオリジナル
2016-08-04 09:19:341250ブラウズ

私は初心者で、コードを練習しているときに問題が発生しました。マルチフォーム送信データの検証を行う場合、検証をコントローラー層に配置する必要がありますか?この検証には、フィールドが空であるかどうかの判断も含まれます。特定のフィールドの一意性を判断するなど。自分で調べたところ、コントローラー層に検証を置くという回答もありましたが、TPマニュアルでは自動検証がモデル層に配置されているため、少し混乱していますが、アドバイスをいただければ幸いです。

返信内容:

私は初心者で、コードを練習しているときに問題が発生しました。マルチフォーム送信データの検証を行う場合、検証をコントローラー層に配置する必要がありますか?この検証には、フィールドが空であるかどうかの判断も含まれます。特定のフィールドの一意性を判断するなど。自分で調べたところ、コントローラー層に検証を置くという回答もありましたが、TPマニュアルでは自動検証がモデル層に配置されているため、少し混乱していますが、アドバイスをいただければ幸いです。

手動リンクを提供します。自動確認に役立つことを願っています

データを $this->create() で自動的に作成する前に、モデルで定義された検証に従ってデータを検証できるように、これをモデル層に配置します。個人的にはカプセル化した方が良いと思います。これは動的検証と呼ばれます

私が書いているプロジェクトはコントローラーに配置されています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。