這是一個經典的登錄流程。用戶可以選擇'新用戶'或'現有用戶'。如果用戶是新的,那麼登錄框中的名稱應該根據服務器進行驗證,以查看用戶名是否是唯一的,如果它是現有用戶,則由於我們預期用戶名已被佔用,所以此檢查將被跳過。強制重新驗證mvc3不顯眼的遠程驗證
我在viewmodel上添加了一個[Remote]屬性,並將新/退出用戶的單選按鈕添加爲「附加字段」。這樣,如果遠程驗證是現有用戶,則它將返回true,並檢查數據庫是否不存在,以查看用戶名是否被使用。
除非用戶決定在輸入用戶名(並且遠程驗證已經運行)後更改單選按鈕(新/現有),否則這很有用。由於遠程驗證僅在用戶名更改時自動運行(這是具有[Remote]屬性的屬性),單獨更改單選按鈕將不會再次運行。
所以我的問題是,我如何強制遠程驗證再次運行?我通過觸發用戶名輸入字段上的更改/焦點/模糊事件來嘗試通常的黑客攻擊,但未觸發該調用。我考慮在單選按鈕上添加一個類似的[遙控器],但是這會使兩個相同的錯誤消息處於相同的絕對位置,從而使事情複雜化。
有什麼辦法可以觸發重新驗證?
只有驗證尚未已經運行,其有。也出於某種原因,遠程驗證似乎不會再次運行,即使我刪除窗體上的驗證器,並重新解析整個窗體(其他非遠程驗證再次運行,如果我這樣做) – 2011-04-11 08:00:46
好吧謝謝你的更新,我我會看看那些:) – 2011-04-11 08:05:11
你與緩存點。我以爲我試過了(刪除所有數據,然後重新驗證所有的表單),但鏈接已全部使用 – 2011-04-11 08:43:05