簡體   English   中英

在C#ASP.NET Core 2.2的客戶端上實現簡單的驗證

[英]Implementing simple validation on the client-side in C# ASP.NET Core 2.2

在C#ASP.NET Core 2.2的客戶端上添加簡單的驗證

我已經閱讀了有關驗證的MS文檔,並決定最適合應用客戶端驗證。 但是,在所提供的示例中,他們使用jQuery展示了一些東西,而我給人的印象是jQuery現在有點老了。 此外,我們對MS提供的好工具tools之以鼻,這些工具會自動為我們完成工作。 (我認為具有asp-validation-for屬性的span和具有asp-validation-summary屬性的div暗示魔術會存在。事實並非如此。)

我的代碼如下所示。

<div class="row">
  <div class="col-md-4">
    <form asp-controller="Security"
          asp-action="Register"
          method="post">
      <div asp-validation-summary="ModelOnly" class="text-danger"></div>
      <div class="form-group">
        <label asp-for="@Model.Email" class="control-label"></label>
        <input asp-for="@Model.Email" class="form-control" />
        <span asp-validation-for="@Model.Email" class="text-danger"></span>
      </div>
      <div class="form-group">
        <label asp-for="@Model.Info" class="control-label"></label>
        <input asp-for="@Model.Info" class="form-control" />
        <span asp-validation-for="@Model.Info" class="text-danger"></span>
      </div>
      <div class="form-group">
        <input type="submit" value="Send" class="btn btn-primary" />
      </div>
    </form>
  </div>
</div>

我想知道要使驗證正常工作所缺少的內容(即,如果在提交表單以及取消提交表單時未同時填寫兩個字段,則會收到一條錯誤消息)。 另外,這是我所缺少的相當基本的東西,我想提示合適的搜索詞。 請注意,我只是在尋找視覺效果:客戶端消息,與輸入的后端處理程序無關。

我已經看到有關該主題的一些 問題 ,但是由於這些問題似乎尚未獲得解決方案的批准,因此我認為最好以正確的方式提出問題,而不是猜測游戲。

您需要添加對驗證文件的引用。 檢查您的Views / Shared文件夾中是否有_ValidationScriptsPartial.cshtml

<environment include="Development">
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.17.0/jquery.validate.min.js"
        asp-fallback-src="~/Identity/lib/jquery-validation/dist/jquery.validate.min.js"
        asp-fallback-test="window.jQuery && window.jQuery.validator"
        crossorigin="anonymous"
        integrity="sha384-rZfj/ogBloos6wzLGpPkkOr/gpkBNLZ6b6yLy4o+ok+t/SAKlL5mvXLr0OXNi1Hp">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.9/jquery.validate.unobtrusive.min.js"
        asp-fallback-src="~/Identity/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"
        asp-fallback-test="window.jQuery && window.jQuery.validator && window.jQuery.validator.unobtrusive"
        crossorigin="anonymous"
        integrity="sha384-ifv0TYDWxBHzvAk2Z0n8R434FL1Rlv/Av18DXE43N/1rvHyOG4izKst0f2iSLdds">
</script>
</environment>

在視圖中添加以下代碼,

@section Scripts {
    <partial name="_ValidationScriptsPartial" />
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM