【问题标题】:my jQuery-validation not validating the form?我的 jQuery 验证没有验证表单?
【发布时间】:2023-02-02 16:29:38
【问题描述】:

我制作了部分视图,并在我的表单中添加了 jquery 验证和不显眼的 jquery,但我的表单始终为 ('form').valid() 返回 true。

控制台端没有错误。请任何人帮忙。

            <form id="addform"
                  @*@Url.Action(@name.ToString())*@
                  data-ajax="true"
                  data-ajax-begin="onSubmit"
                  data-ajax-url="/@name"
                  data-ajax-success="onSuccess"
                  data-ajax-failure="error"
                  data-ajax-method="POST">
                <input type="hidden" id="cus_id" name="id" value="@Model.ProductId" />
                <label>Name</label>
                <input type="text" id="name" class="form-control" asp-for="Name" value="@Model.Name" />
                <span asp-validation-for="Name" class="text-danger"> </span>
                <br />
                <label>Price</label>
                <input type="number" min="0" id="fname" class="form-control" asp-for="price" value="@Model.Price" />
                <span asp-validation-for="Price" class="text-danger"> </span>
                <br />
                <label>Description</label>
                <input type="text" id="phone" class="form-control" asp-for="Descritpion" value="@Model.Description" />
                <span asp-validation-for="Description" class="text-danger"> </span>

                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
                    <button type="submit" class="btn btn-primary">Save</button>
                </div>
            </form>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.5/dist/jquery.validate.js"> </script>
    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"> </script>

这是模型类

    {
        public int ProductId { get; set; }
        [Required(ErrorMessage = "The Name is Required")]

        //[Remote("validateName", "product", ErrorMessage = "This Name is Already Exisit")]
        [Remote("ValidateCode", "product", ErrorMessage = "Please enter a valid code")]
        public string Name { get; set; }
        [Required(ErrorMessage = "The price is Required")]

        public decimal Price { get; set; }
        [Required(ErrorMessage = "The Description is Required")]
        public string Description { get; set; }

    }```

【问题讨论】:

  • 显示您的模型类。
  • " <input type="hidden" id="cus_id" name="id" value="@Model.ProductId" />" 在您的输入中,您已经设置了值。你从控制器那里得到价值吗?
  • 这只是 id 而不是字段名称
  • 如果您还有其他我遗漏的东西,请提供身份
  • 你能分享视图的控制器吗?

标签: jquery asp.net-core .net-6.0 unobtrusive-validation unobtrusive-ajax


【解决方案1】:

是的,我发现了我的标签助手无法正常工作的问题,因为我的共享文件夹和 _viewImport 文件在页面中,但我使用的是 View 文件夹中的剃刀页面。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多