2012-06-04 52 views
1

我有一個使用遠程驗證的模型。該模型也作爲一個子類的父類。我如何禁用視圖中的特定字段的遠程驗證? 型號代碼禁用遠程驗證

public user 
{ 
    [Remote("Validateemail","User",etc)] 
    public string Email {get; set;} 
} 

public edituser:user 
{ 
    public int userid {get; set;} 

    public edituser(int userid,string email) 
    { 
    userid=userid; 
    Email=email; 
    } 
} 

我的目標是去除刪除驗證在該視圖中的edituser類。

回答

0

IM假設你只需要顯示電子郵件字段中的所有數據,因爲它是在EditView中,因爲defauflt用戶無法編輯他/她的電子郵件..
這麼這個你可以改變的代碼從 Html.EditorFor()Html.DisplayFor()

+0

我允許用戶編輯他們的電子郵件地址。我只是想強制視圖不應用在基類上實現的遠程驗證 – CodeNoob

0

認爲這是視圖模型完美的情況。創建一個不同的viewmodel進行編輯(因爲在大多數情況下,事物 - 效果視圖不應直接鏈接到域模型)或者您可以使用IValidatableObject或fluentvalidation,或者您可以使用DataAnnotationsModelValidatorProvider手動附加屬性條件(如果適用)在你的情況。