我的表單代碼是這樣的(MVC 2)jQuery驗證問題。錯誤消息是在錯誤的地方
<% using (Html.BeginForm()){ %>
<%: Html.Serialize("regData", Model)%>
<div class="RegistrationGroup">
<p><label for="FirstName">First name</label> <%: Html.EditorFor(x => x.FirstName) %><span class="ErrorMessage"></span></p>
<p><label for="LastName">Last name</label> <%: Html.EditorFor(x => x.LastName) %><span class="ErrorMessage"></span></p>
</div>
<div class="RegistrationGroup">
<input name="nextButton" type="image" src="../../Images/button_next.png" alt="Neste" />
</div>
<% } %>
在我的劇本
然後彈出,我有以下幾點:
<script type="text/javascript">
$(function() {
$("#Email").focus();
$("form").validate({
rules: {
FirstName: {
required: true,
minlength: 2
},
LastName: {
required: true,
minlength: 2
}
},
errorPlacement: function (error, element) {
error.appendTo(element.next());
}
});
});
</script>
我的問題是,所有的驗證錯誤出現在標籤和文本框之間,看起來很糟糕。我想把錯誤信息放在ErrorMessage範圍內,這個範圍恰好放在實際的輸入元素之後,並且我嘗試了errorPlacement
的errorPlacement
部分內容進行驗證。無論如何,錯誤消息始終顯示在同一個點上。
這看起來對我來說是正確的,所以如果有人知道我在這裏做錯了轉彎,我會很感激。
@mu - 它提供了以下HTML:'<輸入類=「文本框單line「id =」FirstName「name =」FirstName「type =」text「value =」「/>''',所以這是一個相當普通的文本框。 – 2011-04-15 06:10:38
它按預期工作在這裏:http://jsfiddle.net/mzMER/它可以是CSS,你也可以發佈一些CSS。 – dioslaska 2011-04-15 06:21:23
@dioslaska - 這可能是CSS,因爲我在Chrome中的開發人員工具中驗證了驗證後的HTML,並且似乎在ErrorMessage範圍內添加了以下標記: – 2011-04-15 06:28:20