簡體   English   中英

使用 MVC 模式在 Joomla 組件中的工作流內進行驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM