2013-07-11 81 views
0

我有一個表單,有很多字段。我需要把驗證碼?

其中一些是userId,userFirstName,userLastName。

當用戶輸入不正確的userId值,然後在userId字段頁面附近必須顯示錯誤消息並將此錯誤添加到validationSummary(這是asp.net mvc unobtrusive驗證的標準行爲)。如果userId是正確的,那麼頁面必須刪除錯誤並自動填充userFirstName和userLastName(這不是標準行爲)

我該如何實現這一點?

這裏是來找我的腦海:

  1. 遠程驗證屬性

    它在我的情況不好的定製。這就是爲什麼我決定不使用它。

  2. 添加特殊的方法用於jQuery驗證插件(例如

    jQuery.validator.addMethod( 「userIdValidation」,函數(值,元素){// 一些邏輯 一些回報; },「請指定正確的userId「);)

並放在那裏驗證邏輯和autopopulate其他領域。 在這種情況下,我混合驗證和其他東西。

3。爲jquery驗證插件添加特殊方法,僅用於驗證,併爲autopopulate的輸入更改事件添加特殊處理程序。

在這種情況下,我需要發送兩個ajax請求到服務器的一件事。當然這也不好。那麼正確的方法是什麼?我很困惑。

回答

0

你有沒有想過使用局部視圖來顯示userFirstName和userLastName?

您可以觸發發送userId的AJAX請求,然後返回名稱字段的局部視圖。在被調用的控制器中,您可以驗證傳入的userId,然後在一個查詢中獲取名稱詳細信息。如果驗證失敗,則可以使用空字段返回部分視圖。