我有一個ASP.NET MVC項目與NHibernate和NHibernate.Validator一起工作,我想使用xVal 1.0(最新版本)。 我加入了要求腳本項目,並在引用的Site.Master它:MVC.NET與nHibernate.validator xVal不會觸發客戶端驗證
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%>"></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery.validate.js")%>"></script>
<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/xVal.jquery.validate.js")%>"></script>
然後,我添加了NHibernateValidatorRulesProvider到Global.asax Application_OnStart()的xVal.ActiveRuleProviders:
xVal.ActiveRuleProviders.Providers.Add(new NHibernateValidatorRulesProvider(ValidatorMode.OverrideXmlWithAttribute));
最後,在視圖上,我補充道:
<%= Html.ClientSideValidation<DomainModel.Entities.MyCustomClass>(Prefix) %>
我在IE中收到JavaScript警告,但在Firefox中沒有收到警告。如果現在輸入一些無效字段並提交這些字段,則xVal不會觸發 - 將創建PostBack,而Serverside驗證會處理數據。
我在做什麼錯?我已經能夠使xVal示例項目運行與xVal 1.0 ...
//編輯:我必須精確我的聲明:事情實際上發生了:它做了一個回傳並將無效字段標記爲紅色(因爲它一直在進行服務器端驗證),但是如果我在這些字段中寫入內容,則顏色會變回正常狀態。但是如果我然後再次刪除該值,直到我單擊提交併且該表單執行回發時纔會發生任何事情......如果我刪除了客戶端驗證代碼,則不會出現這種情況。
這是很好的知道,謝謝你的更新。 – 2009-09-22 15:24:09