假設我有一個「唱歌」的形式與客戶端和服務器端驗證混合。這是電子郵件領域的驗證:敲除驗證 - 油門異步驗證
- 客戶端驗證:需要&有效
- 服務器端(異步)驗證:獨特
我想它的工作方式是爲客戶端驗證(需要&有效)以儘可能快的速度執行(無限制 - 輸入「afterkeydown」),而服務器端驗證在用戶停止輸入時被限制和執行。
問題是Knockout「throttle extender」返回一個新的dependentObservable,現在所有的驗證都被限制。我不能單獨應用限制到不同的驗證部分。
我想創建第二個計算電子郵件僅用於唯一性/限制性驗證,但它沒有意義,因爲即使電子郵件無效並且使代碼更復雜,它也會觸發。
任何想法如何使這項工作沒有使解決方案太糟糕了?
編輯#1
的我試圖做的是「註冊」的形式在Twitter網站的一個很好的例子:https://twitter.com/signup。當輸入用戶名時,Twitter會自動檢查可用性(一些限制之後)並提供反饋(無需離開現場)。
您是否嘗試過對整個對象進行驗證,只有在其他驗證器正常後纔會觸發對象? –
我是否可以建議像電子郵件地址這樣的按鍵擊鍵驗證是非常用戶友好的?在用戶完成輸入之前,您無法確定電子郵件地址的有效性;當用戶正在輸入最終有效的內容時拋出一條錯誤消息是相當不合理的。在用戶試圖離開之前不要驗證該字段。 – ebohlman
@ebohlman讓我不同意你的看法。我認爲用戶應該儘快得到反饋。 Twitter似乎分享我的觀點:https://twitter.com/signup – W3Max