2013-05-16 40 views
1

我想動態顯示錯誤消息,即當光標移出字段但不在提交表單時。使用c#mvc和剃鬚刀視圖引擎顯示錯誤消息

我的要求是這樣的: - 我要設計一個登記表中包含姓名,地址,電話號碼,電子郵件,密碼等一些領域 我設計&在DB成功保存數據,但我確切地在這個意義上,我有動態,而無需使用「Ajax」的,因爲我已經說過顯示錯誤消息嘀......

我的代碼是這樣的: -

查看: -

<div class="venfor_line5" popText><label>@Resources.Resources.VendorReg_phoneNumber<img src="~/images/star.png" /> </label> 
     @Html.TextBoxFor(model => Model.MobileNumber, new { @class = "input" }) 
     @Html.ValidationMessageFor(model => model.MobileNumber)</div> 

    <div class="venfor_line1" popText = @Resources.Resources.VendorReg_emailHintStr> 
    <label>@Resources.Resources.VendorReg_email<img src="~/images/star.png" /> </label> 
    @Html.TextBoxFor(model => Model.Email, new { @class = "input" }) 
    @Html.ValidationMessageFor(model => model.Email)</div> 

我已經經歷了許多參考,但沒有找到我正在尋找什麼。任何幫助將不勝感激。任何人都可以指導我解決這個問題。

+0

'ValidationMessageFor'用於服務器端驗證消息。如果你想要客戶端驗證,你需要使用javascript自己實現它。 – Candide

回答

0

您可以使用jQuery的focusOut()方法執行驗證。喜歡的東西:

$('#elementId').focusOut(function(){ 
    //do validation here 
}); 
+0

非常感謝你對aquaraga的迴應。我已經在model類中提供了驗證代碼,所以我認爲不需要在focusout函數()中再次提供驗證代碼。 –

0

如果使用不顯眼的jQuery驗證,你可以急切地啓用它,這樣它會自動觸發的onblur無需用戶提交表單:

$(document).ready(function() { 
    var settngs = $.data($('form')[0], 'validator').settings; 
    settngs.onfocusout = function (element) { $(element).valid(); }; 
}); 
+0

非常感謝Darin Dimitrov這樣的快速反應。其實我的一位同事以他的其他形式做到了這一點。我只是跟着他,但沒有以我的形式工作。我也嘗試了你發佈的代碼,這不起作用。如果你不是我的,你可以發佈你的郵件ID我會給你的代碼? –