2012-11-05 62 views
1

我只是試圖讓首次這項工作: http://msdn.microsoft.com/en-us/library/gg508808%28v=vs.98%29.aspx嘗試使用遠程現場驗證

在我的模型我有

[Remote("RequireName", "Contact")] 
    [Editable(true)] 
    public string Name { get; set; } 

在我的控制器我有

public JsonResult RequireName(string Name) 
    { 
     bool resultbool = ((Name != null) && (Name.Length > 0)); 
     return this.Json(resultbool ? "OK." : "Not OK.", JsonRequestBehavior.AllowGet); 
    } 

(我現在不關心它的結果信息。)

在我生成的HTML我有:

<input type="text" value="" name="Name" id="Name" data-val-remote-url="/[mysite]/Contact/RequireName" data-val-remote-additionalfields="*.Name" data-val-remote="'Name' is invalid." data-val="true" class="text-box single-line"> 

URL的http://本地主機/ [mysite的] /聯繫人/ RequireName 回報 「也不行。」,這是正確的。 URL http:// localhost/[mysite]/Contact/RequireName?Name = something returns「OK。」,這是正確的。

但是,當我編輯該字段或甚至當我提交完整的表單時,驗證不會發生。 我確定我錯過了一些東西。謝謝,如果你能幫助我。

+0

以我的經驗,客戶端驗證錯誤的最常見原因是由於缺少javascript引用。你可以在表單上查看源代碼併發布生成的HTML嗎? –

+0

此外,另一個常見的問題是,ClientValidationEnabled和UnobtrusiveJavaScriptEnabled沒有在web.config中啓用 - 你檢查過嗎? (這在你參考的MSDN文章中給出的「檢查驗證碼」一節中的步驟3中進行了描述。) –

+0

ClientValidationEnabled和UnobtrusiveJavaScriptEnabled都啓用,並且我沒有特殊的javascript包含,並且我沒有提到javascript內含我遵循並鏈接的教程。 – TTT

回答

0

經過一些更多的互聯網搜索,我明白我必須包括「jquery.validate.min.js」和「jquery.validate.unobtrusive.js」。聽起來很基礎,但我還沒有確定。