我創建利用自帶的MVC3不顯眼的驗證一個jQuery Mobile (Alpha 3)基於ASP.NET MVC 3應用。當直接訪問頁面(Url中沒有散列)時,驗證完美無缺。但是,當您導航到頁面時,jQuery Mobile使用Ajax Navigation動態加載它(在Url中顯示哈希)並且驗證停止工作。jQuery Mobile的和不顯眼驗證
下面是代碼的使用的示例:
型號:
[Required(ErrorMessage = "Missing value")]
[DisplayName("Property Display Name")]
public int? PropertyName { get; set; }
視圖(剃刀):
@Html.LabelFor(model => model.PropertyName)
@Html.TextBoxFor(model => model.PropertyName)
@Html.ValidationMessageFor(model => model.PropertyName)
生成的HTML:
<label for="PropertyName">Property Display Name</label>
<input data-val="true" data-val-number="The field Property Display Name must be a number." data-val-required="Missing value" id="PropertyName" name="PropertyName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="PropertyName" data-valmsg-replace="true"></span>
其他頁面以前已加載和HTML元素不再有唯一的ID這是可能的。除了滾動自己的Html Helper類來爲Label,TextBox和ValidationMessage生成HTML以外,有什麼辦法可以處理這種情況?
我想知道的唯一ID與JQM,它仍然困擾着我。 JQM作者自己並沒有多說這些。我甚至看到了一個預設頁腳的例子,其中id被複制。我看到了兩個解決方案 - 無論是照顧你的ID的自己,或通過強制刪除您從DOM離開作爲新的一個被加載的頁面摧毀JQM緩存 - `pagebeforecreate`事件 – naugtur 2011-02-08 08:16:35
我們遇到類似問題,但避風港」根本沒有工作。我們使用jQ 1.5和jQM 1.03a。在這裏掙扎.. – pavsaund 2011-02-17 10:16:27