2012-11-23 94 views
3

我有一個包含一些輸入字段的視圖。他們必須遵循一個觀看模型。他們也有驗證信息。但該視圖沒有表單標籤(既不是Ajax.BeginForm也不是Html.BeginForm)。ASP.NET MVC3無窗體標記的客戶端驗證

用戶輸入一些輸入,從表格中選擇(通過複選框)一些行,然後單擊一個按鈕。我在客戶端處理了此按鈕的單擊事件,並編寫了一個AJAX調用以將數據發送到服務器。這工作正常,除了客戶端驗證。由於我沒有表單標籤,客戶端驗證被忽略。有沒有什麼方法可以驗證用戶輸入並在必要時顯示錯誤消息,而不使用表單標籤?

+1

你爲什麼不理表單標籤兩種方法? – Thulasiram

+0

@deniz我得到同樣的問題,你找到任何其他方式來解決這個問題? – nirav

+0

我無法避免使用表單標籤。但我在我的表單中放置了一個隱藏的輸入,並將其綁定到我的viewmodel中的一個字段(通過@ Html.HiddenFor輔助方法)。每次用戶從表格中選擇一行時,選定的標識符都會附加到該隱藏字段中。所以,當用戶點擊提交按鈕時,我的視圖模型被傳遞給控制器​​,包括隱藏的字段,其中包含選定的ID作爲逗號分隔的字符串(例如「3,5,8,9」)。然後我解析了服務器端的這個字符串並執行了必要的操作。由於我使用了表單標籤,因此驗證也被執行。希望能幫助到你。 –

回答

3

不,jQuery驗證插件只適用於窗體標籤包含的窗體。有跡象表明,你可以打電話給你驗證字段

$('some_selector').validate() 
$('some_selector').valid() 

它們都將工作,沒有一個表單標籤

+0

我執行一些我無法使用表單發佈處理的自定義操作。顯然,我必須找到一種方法來在表單標籤中找出這個問題。感謝您的回答 –

+0

@DenizAlpaslan - 你能解釋爲什麼你不能用你網頁上的表單處理它們嗎? –