2017-10-18 104 views
0

我使用MVC並有一個主/詳細信息視圖頁面。細節實際上是一個局部視圖,其中一些輸入字段是一個保存按鈕,如下所示。如何實現像MVC數據註釋這樣的JQuery驗證?

<button type="button" id="btnAddDetails" class="btn btn-primary">Add Details <span class="glyphicon glyphicon-plus"></span></button> 

保存按鈕將暫時保存詳細數據。

在主視圖中有一個提交按鈕。當我點擊提交按鈕時,它會將主數據和詳細數據保存在各自的表格中。我想單獨驗證主要和詳細信息字段。當我在細節視圖(局部視圖)中點擊按鈕時,它將用細節模型驗證數據,最終提交將使用主模型檢查主數據。主數據驗證可以通過使用數據註釋輕鬆完成。但我如何驗證細節。因爲master和details都放在一個Html.BeginForm()中。我試圖jQuery的驗證按鈕點擊事件的詳細信息:

if ($('#Disc').val() == '') 
{ 
    $('data-valmsg-for="Disc"').val("Please enter Diacount"); 
    return false; 
} 

我用數據valmsg換因爲在查看源代碼頁面的html是這樣的:

<input class="form-control text-box single-line" data-val="true" data-val-number="The field Discount must be a number." id="Disc" name="Disc" type="text" value=""> 

<span class="field-validation-valid text-danger" data-valmsg-for="Disc" data-valmsg-replace="true"></span> 

而且我得到的錯誤如未捕獲錯誤:語法錯誤,無法識別的表達式:data-valmsg-for =「Disc」

如何在master中驗證數據註釋等細節部分。任何線索。

感謝

帕塔

+0

您需要使用屬性選擇器:'$('data-valmsg-for =「Disc」')' - >'$('[data-valmsg-for =「Disc」 ]')'。您還應該查看jQuery Validate插件。這是MVC不引人注目的驗證在底層使用的,並且都可以使用前端的數據屬性進行設置 –

回答

0

如果你想針對一個數據 - 屬性,你必須使用方括號選擇。另外我不確定你可以在span上使用val()。試試這個:

$('[data-valmsg-for="Disc"]').html("Please enter Diacount"); 
相關問題