2017-04-20 63 views
2

我有一份表單,希望顯示html鏈接。爲了避免用戶在點擊鏈接時丟失了表單輸入,我想在用戶離開表單之前通知用戶。Extbase:檢查表單是否已在控制器操作中提交

爲了實現這個目標,我想

public function registerAction(Registration $registration = null) { 
    $formHasBeenSubmitted = !is_null($registration); 
    $this->view->assign('formHasBeenSubmitted', $formHasBeenSubmitted); 
} 

但它始終是假的。

找出特定操作表單是否已提交的正確方法是什麼?

更新後 undkos answer

  • 我想顯示的情況下,該形式已經提交,但驗證錯誤也已一旦用戶開始輸入數據顯示,當然了該消息。
  • 鏈接後面有一個窗體,它編輯主窗體上顯示的數據(郵政地址),並在編輯後更新。
+0

這意味着如果驗證失敗,你有'createAction'將用戶循環回'registerAction'?在這種情況下,你的表單是否可以正常工作(例如,顯示已填寫的值和驗證錯誤消息? – undko

+0

)如果驗證錯誤返回到'registerAction'是extbase的默認行爲並且非常合理,因爲用戶必須調整數據在表格中 是的,表格在這種情況下除外 –

+0

這很奇怪你在驗證失敗時調試了'$ registration'的值嗎 – undko

回答

0

作爲用戶,我不在乎表單是否已經提交或「只」填寫 - 因此我建議創建一個模式,只要有表單中的數據。 提高可用性的另一種可能性是創建與target屬性的鏈接。模態和目標都強加自己的問題,所以它總是一種折衷。

+0

感謝您的信息,這實際上是一種不同的方法,但不是我的問題的答案。 –

+0

我明白了。評論本來是足夠的:-) – undko