2013-08-07 39 views
-2

我使用@ Html.ValidationMessage(「用戶名」)來檢查重複的用戶名。 它正在工作。 但是當我有服務器驗證錯誤&客戶端驗證錯誤在一起,它只是顯示客戶端錯誤。我想兩個錯誤可以出現。我的專業版只顯示客戶端驗證錯誤

@ Html.ValidationMessage(「用戶名」)單獨的作品,但是當我有forexample電子郵件所需的錯誤太多,@ Html.ValidationMessage(「用戶名」)不顯示的問題不僅僅是電子郵件錯誤顯示。

//client 
    @Html.TextBoxFor(m => m.email, new { @class = "group", @placeholder = "* enter email" }) 
    @Html.ValidationMessageFor(model => model.email) 

    //server 
    @Html.ValidationMessage("username") 
    @Html.TextBoxFor(m => m.username, new {@id="group" , @class = "input-block-level", @placeholder = "* enter username" }) 
+0

-1:簡單的標籤垃圾郵件 –

回答

0

這是客戶端驗證預期的行爲:它可以防止在錯誤表單POST,因爲它可以非常迅速地確定投入將是無效的。

如果您不希望運行客戶端驗證,則可以禁用它並依靠相應的服務器端驗證生成相同的錯誤消息(假設您正在驗證服務器端,您應該)。

+0

不,我想當我點擊提交按鈕時,兩個錯誤都可以出現。這些不相互關聯。服務器和客戶端是不同的。 – niknaz

+0

@niknaz:客戶端驗證應該是服務器端驗證的一個子集。否則,用戶可以禁用JavaScript並將無效值發送到您的服務器。另一方面,如果您正在進行服務器端檢查,則應該能夠安全地禁用客戶端檢查,並允許服務器一次發回所有驗證消息。客戶端驗證的唯一好處是避免了往返服務器。如果您需要往返進行一些驗證,那麼客戶端驗證不會對您有所幫助。 – StriplingWarrior