2016-05-16 131 views
0

在我的項目中,我提供了一個視圖模型,該模型的屬性爲Company,其類型爲Company。公司類具有不同驗證要求的多個字段,並且它們都有數據註釋。MVC6驗證 - 屬性工作不正常?

當我提交表單時,控制器會將模型狀態標記爲無效,並將錯誤消息傳回給我的視圖,並將它們顯示在摘要下。但是,它們不會顯示在各自的字段下。

這裏是我的代碼示例片段:

<div asp-validation-summary="ValidationSummary.All" class="text-danger"></div> 
<div class="form-group row"> 
    <div class="col-md-2"> 
     <label>Name</label> 
    </div> 
    <div class="col-md-10"> 
     <input asp-for="Company.Name" class="form-control" placeholder="Company Name" /> 
     <span asp-validation-for="Company.Name" class="text-danger" /> 
    </div> 
</div> 

@section Scripts { 
    <script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script> 
    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script> 
} 

的錯誤表單提交之前從未填充,他們不各自的領域下顯示。相反,我只能在摘要下看到它們。

我有一個JavaScript錯誤中鉻彈出說明沿着線的東西:jquery.validate.unobtrusive.min.js:5 Uncaught TypeError: Cannot set property 'unobtrusive' of undefined

但我相當這裏難倒。

+0

嗨。你可以發佈你的腳本呈現部分和捆綁配置? –

+0

我添加了我的腳本部分,但我不太確定我的包配置(如果有的話)。 –

回答

1

對於ASP.NET 5客戶端驗證 - MVC6補充:

@section Scripts { 
    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); } 
} 

然後加入Views/Shared/_ValidationScriptsPartial.cshtml

<environment names="Development"> 
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script> 
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script> 
</environment> 
<environment names="Staging,Production"> 
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" 
     asp-fallback-src="~/lib/jquery-validation/dist/jquery.validate.min.js" 
     asp-fallback-test="window.jQuery && window.jQuery.validator"> 
</script> 
<script src="https://ajax.aspnetcdn.com/ajax/mvc/5.2.3/jquery.validate.unobtrusive.min.js" 
     asp-fallback-src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js" 
     asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"> 
</script> 
</environment> 

以下Visual Studio創建一個標準的5 ASP.NET Web應用程序和看看它是如何實施的。