[英]Validation within workflow in Joomla component with MVC pattern
我正在使用 MVC 模式為 Joomla CMS 編寫自定義組件。 我正在實現一個簡單的工作流程,我希望用戶在視圖中輸入一些數據,驗證這些數據(在服務器端,這與客戶端/JavaScript 驗證無關)並將用戶重定向到另一個視圖,如果驗證成功了。 如果數據無效,則應再次顯示第一個視圖,並標記無效字段。
現在我不確定在哪里放置驗證碼:我的第一個想法是把它放在 controller 中,因為這個必須決定是否重定向到第二個視圖。 但我發現一些建議告訴我不要將驗證代碼放在 controller 中。
將其放入第一個視圖的 model 也是一種選擇。 But since in Joomla there's a 1-to-1 relationship between model and view, I'm not sure if it's ok to only create a model class (because in case of successful validation, the first view is not shown again).
有沒有標准的方法來做到這一點? 或者這種行為是在某些標准組件中實現的,所以我可以尋找源代碼? 任何想法(一些偽代碼會很好而且足夠......)?
謝謝你的幫助!
在我的項目中,我將它們放在表格 model 中(使用HTML_QuickForm2 )。
半碼:
$form = new HTML_QuickForm2();
$form->addElement('text')->addRule('email');
if ($form->validate()) {
echo "all fine, storing in database";
} else {
//error, let's try it again
echo $form;
}
這樣,您就可以在表單 object 中獲得所有規則和驗證。 將表單初始化代碼移動到擴展 HTML_QuickForm2 的自己的 class 中,然后您就設置好了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.