2012-07-16 26 views
0

我使用的是MVC3,我的視圖中有剃刀和原始html的混合,MVC3和驗證Razor和jQuery插件的混合

<div class="editor-field"> 
    @Html.EditorFor(model => model.PAGE) 
    @Html.ValidationMessageFor(model => model.PAGE) 
</div> 


<div class="editor-label"> 
    @Html.LabelFor(model => model.PERIODICAL) 
</div> 
    div class="editor-field"> 
    <div class="editor-field"> 
      <input type="text" id="periodicallist" name="tiperiodical" /> 
    </div> 
</div> 

我的JavaScript應用tokenInput控制插件文本框和所有的罰款,但我不知道如何可以驗證這一點(即空的文本框/ tokenInput),它需要注入至少1個令牌。目前,令人困惑的是,有兩種形式創建視圖,讓Razor直接從模型構建元素,然後通過使用jQuery插件添加更多複雜性/ cusomization等。

任何人都可以建議如何驗證jQuery插件張貼回控制器?

乾杯

回答

1

如果使用不引人注目的驗證,那麼你所有要做的就是添加必要的HTML5數據屬性從JavaScript輸入元素和微軟的不顯眼的JavaScript庫將完成剩餘的工作。

例如,如果您已通過JavaScript動態地將文本框注入到表單中,並且您需要執行所需的驗證,那麼您必須添加如下所示的data-valdata-val-required屬性。

<input data-val="true" 
     data-val-required="No. of joinees is required" 
     name="NoOfJoinees" 
     type="text" /> 

編輯:

要顯示你必須注入span靠近現場驗證錯誤消息,

<span class="field-validation-valid" 
     data-valmsg-for="NoOfJoinees" 
     data-valmsg-replace="true"> 
</span> 
+0

嘿的答覆馬克,剛纔你說的做的感謝 - 但它有一半的工作 - 在表單將停止發佈,但你沒有得到任何好的錯誤消息,像其他MVC框架「開箱即用」的錯誤消息。我可能會在這裏錯過什麼? – Vidar 2012-07-16 13:21:15

+0

@Vidar我更新了我的答案,請嘗試 – VJAI 2012-07-16 13:28:10

+0

太棒了!現在很明顯。非常感謝您的幫助。 :) – Vidar 2012-07-16 13:31:01