我創建了一個允許用戶通過前端註冊的擴展名。我無法使用工作的客戶端,因爲客戶端請求了特殊的任務。TYPO3:表格提交後填寫表格
這是檢測用戶名的代碼。
public function createAction(\Vendor\Feregister\Domain\Model\FeUserX $newFeUserX)
{
$uname = $newFeUserX->getUsername();
$select_query = '*';
$from_table = 'fe_users';
$where_clause = 'username="'.$uname.'"';
$test = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select_query, $from_table, $where_clause);
if ($GLOBALS['TYPO3_DB']->sql_num_rows($test)) {
$this->addFlashMessage('Username is already taken.', '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
$this->redirect('new');
} else {
// do stuff when the username isn't taken yet
}
}
但不幸的是,當重定向回到新動作時,這些字段又是空的。
有沒有辦法將參數傳遞迴新的動作並填寫表單?
我一直在努力了一段時間,我無法弄清楚如何讓自定義驗證運行...你知道TYPO3 7.6的最新教程嗎? – Norman
你可以展示你的驗證器嗎?它是否被稱爲?在它裏面嘗試一些'die'或'var_dump'語句。另外,請確保在更新註釋後始終清除安裝工具中的緩存。 – Jost
好吧,我做的一切都正確,只是緩存問題。必須再次卸載並安裝擴展,在安裝工具中清除緩存是不夠的。 – Norman