我正在構建一些MVC應用程序,我非常喜歡MVC中的數據註釋支持。支持構建足以執行簡單的驗證檢查。我想知道,如何使用自定義數據註釋來實現獨特字段驗證?例如,我有一個視圖模型,需要用戶註冊一個新的登錄名,有沒有辦法檢查(使用Model.IsValid)在調用db提交之前名稱是否不存在?如何在MVC中實施唯一字段驗證
2
A
回答
1
你可以編寫自己的驗證器屬性來檢查我猜的數據庫,或者你可以加載所有數據並檢查它。
我會更傾向於試圖寫入數據庫並在表中具有唯一約束。如果您收到一個錯誤,指出存在重複的插入錯誤,那麼您只需向用戶顯示該錯誤。
我不會期待閱讀和檢查自己。
編輯
我想你也可以做的檢查中,做插入的代碼。你可以做一個閱讀,如果沒有發現,然後插入。
如果您確實找到了重複項,您可以添加到模型驗證違規規則並返回,以便錯誤出現在頁面上的驗證摘要中。
-1
創建自己的屬性,該屬性繼承自ValidationAttribute(DataAnnotations命名空間中所有驗證屬性的基礎)。使用用戶標識唯一性檢查覆蓋IsValid方法。
相關問題
- 1. 如何針對其他字段實施唯一字段?
- 2. 驗證Django中的唯一字段
- 3. 在rails中,如何驗證不唯一的字段?
- 4. Fluent驗證和IoC(唯一字段)
- 5. 驗證IPv6實施
- 6. 驗證唯一實體
- 7. 實施唯一列
- 8. Doctrine PHP 1.2 - 如何跳過空字段的唯一驗證
- 9. Laravel 4 - 如何驗證多個字段的唯一性?
- 10. 如何驗證兩個字段的唯一性
- 11. MVC日期字段驗證
- 12. HTML MVC 3字段驗證
- 13. jquery字段驗證onblur(mvc)
- 14. asp.net mvc datannotation唯一字段
- 15. MVC驗證 - 更新另一個字段?
- 16. 如何實施Wpf組合框驗證
- 17. 我們可以在cakephp驗證中驗證唯一性的主鍵字段嗎?
- 18. 如何驗證實例字段值?
- 19. 在cakephp中驗證字段與作用域是唯一的
- 20. 在MVC中實現驗證
- 21. 驗證域實體中的唯一值
- 22. 在Yii中實施強制空驗證?
- 23. 在窗體中驗證字段是一個在MVC中的INT
- 24. 在GAE中實施唯一約束
- 25. 如何在Laravel 4中添加組合的唯一字段驗證器規則
- 26. 如何在MVC中進行多字段驗證?
- 27. 如何在MVC模型中創建唯一字段?
- 28. ASP.NET MVC - 驗證模型的唯一性
- 29. 唯一驗證屬性MVC 2
- 30. 驗證唯一
對不起,我沒有說清楚。我知道我可以執行自定義驗證屬性,但爲了執行唯一性檢查,我需要將對象或db上下文/存儲庫的列表傳遞給驗證邏輯,我不確定它是否合適。 – xandy 2010-03-31 07:27:37