unobtrusive-validation 相关问题

Unobtrusive Validation是指由Microsoft创建的jQuery插件,与jQuery Validate插件结合使用。它随ASP.NET MVC 3一起提供。

jquery 验证没有显示错误消息

我正在尝试使用jquery验证,但由于某种原因没有显示错误消息,即使我尝试遵循各种示例: 我正在尝试使用 jquery 验证,但由于某种原因,即使我尝试遵循各种示例,也没有显示错误消息: <form action="/" id="paaForm" method="post"> <input type="text" name="testMe" id="testMe" /> <button id="btnSubmit" type="button" value="Save" class="btn btn-default" /> jquery: $(function () { $("#paaForm").validate({ rules: { testMe: { required: true }, ... $('#btnSubmit').on('click', submit); ... function submit() { if (!$("#paaForm").valid()) { return; } ... 编辑: 我必须添加更多信息。我的应用程序是一个 MVC 应用程序,因此它使用这样的捆绑: bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.validate*")); 这样,基于模型属性的 MVC 验证就可以完美运行。但我需要更复杂的验证,这就是为什么我添加了简单的 jquery 验证。正如我上面提到的,它不起作用。但如果我用这个代替捆绑, bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.validate.js")); jquery 验证有效,但 MVC 验证不起作用,因为我排除了 “~/Scripts/jquery.validate.unobtrusive.js”。 可以两者兼得吗? 仅供参考 - 如果您使用 Unobtrusive Validation 插件,那么它会自动构造 .validate() 方法。您不能简单地提供自己的 .validate() 实例,因为它会被忽略。该插件仅设计用于在任何特定表单上处理 .validate() 一次,所有后续实例始终被忽略。 只要改变一个功能,问题就解决了:-) function submit() { if (!$("#paaForm").valid()){ return false; } ... return true; } 您应该如下更改您的代码。您需要通过下面的 jquery 插件授予显示错误消息的访问权限。默认验证集 debug: false。将其设置为 true。 $("#paaForm").validate({ debug: true }); 这应该对你有用。有关 jquery 验证的更多信息单击此处。祝你好运!

回答 3 投票 0

如何在 ASP NET MVC 中自定义不显眼的验证 JQuery 消息?

我有一个表单,当它进行不显眼的验证时,我希望它显示: 此消息:“请输入一个值。” 而不是这条消息:“此字段是必填的。” 我尝试在...

回答 3 投票 0

向表单添加动态列表元素和客户端验证

我想将类类型 Food 的元素添加到表单中。当用户单击某个按钮时,应显示包含两个元素的行: 一个下拉列表来选择食物类型

回答 1 投票 0

如何从 validate() 或 valid() 触发我的自定义验证方法

我可以通过调用 $form.validate() 和 $form.valid() 来验证我的表单。因此,大概这些函数会在提交表单时自动调用。 但我的问题是:如果我有一个自定义的有效...

回答 1 投票 0

即使从选择标签中选择项目后,仍然会出现验证消息

我使用不显眼的验证来验证客户端的表单,如果我单击提交按钮,则会出现验证消息,如果我开始在输入字段中输入,验证消息就会消失,

回答 3 投票 0

ASP.Net Core 客户端验证:是否有“验证成功”DOM 事件?

我有一个 ASP.Net Core Razor 页面,它使用 Bootstrap 并进行客户端验证。 表格如下所示: .... 我有一个 ASP.Net Core Razor 页面,它使用 Bootstrap 并进行客户端验证。 表格如下所示: <form method="post" class="needs-validation" novalidate> ... _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> ... 一切正常。如果用户未能输入必填字段或输入的数字超过最大值,则表单将不会提交,并且有问题的字段会以红色突出显示。 “验证成功”时是否触发了 DOM 事件? 我想在知道表单“正常”之后但在它实际发布到服务器之前执行一些 JavaScript。 如果您想要一个快速交钥匙解决方案,您只需添加jQuery Validation Plugin即可。仅当 valid 条件有效时才返回 true。 答案:然后,您可以通过发送 rxJs-subscribe 或 data structure 到它,以使用此 jquery.observable 插件 获取事件。 以下是 Jquery Valid 的工作原理: 形式: control 控制: $("form").valid(); // or if($("form").valid()) { //VALID continue } 提交时:您还可以通过检查表单提交来获得有效事件的类似结果 $("[name='CountyOfBirth']").valid(); // RETURNS true/false 您可以在 Razor 视图中的表单中使用 jQuery Unobtrusive Ajax。 首先,您需要包含 jQuery Unobtrusive Ajax 脚本: $("form").submit(function() { if($(this).valid()) { //VALID } else { //ERROR } }); 其次,您需要通过添加特定的自定义 npm i jquery-ajax-unobtrusive -D (or --save-dev) 属性来在表单上启用不显眼的 ajax:data- 还有其他属性您可以使用。 您可以在这里注册回调,例如在表单提交开始和完成时: <form method="post" class="needs-validation" novalidate data-ajax="true" data-ajax-method="post" data-ajax-begin="onFormBegin" data-ajax-complete="onFormComplete">

回答 2 投票 0

ASP.Net Core 本地化日期格式验证不起作用

我使用 data-val-required 来替换必填字段的标准消息并显示法语自定义消息,效果很好。我还使用 data-val-date 属性来执行...

回答 1 投票 0

验证表单而不提交[重复]

我有以下引导模式。 我有以下 Bootstrap 模式。 <div id="product-modal" class="modal" tabindex="-1" role="dialog"> <form> <input id="product-index" type="hidden" /> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="edit-title" class="modal-title"></h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="row"> <div class="col-md-12"> <div class="mb-3"> <label asp-for="ShipProduct.ProductId" class="control-label"></label> <select asp-for="ShipProduct.ProductId" class="form-select" asp-items="Model.ProductOptions"></select> <span asp-validation-for="ShipProduct.ProductId" class="text-danger"></span> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="mb-3"> <label for="product-uom" class="control-label">Unit of Measurement</label> <input id="product-uom" type="text" class="form-control" readonly /> </div> </div> <div class="col-md-6"> <div class="mb-3"> <label asp-for="ShipProduct.InboundQuantity" class="control-label">Inbound Quantity</label> <input asp-for="ShipProduct.InboundQuantity" class="form-control" /> <span asp-validation-for="ShipProduct.InboundQuantity" class="text-danger"></span> </div> </div> </div> </div> <div class="modal-footer"> <button id="product-save" class="btn btn-primary">Save</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> </div> </div> </div> </form> </div> 我想使用 jQuery 非侵入式验证来验证表单数据。但是,我不想提交表格。 我有以下 JavaScript。它按预期工作。然而,代码运行后,表单被提交。 $('#product-save').on('click', function () { var $modal = $('#product-modal'); var $form = $modal.find('form'); $form.validate(); if ($form.valid()) { // Process input data } } 有谁知道为什么要提交表单以及如何停止它? type=button 自动提交表格。 您需要防止默认行为 $('#product-save').on('click', function (event) { event.preventDefault(); // <== This prevents it from submitting var $modal = $('#product-modal'); var $form = $modal.find('form'); $form.validate(); if ($form.valid()) { // Process input data } }

回答 1 投票 0

如果另一个输入字段为空,如何使用不显眼的验证使输入字段成为必填字段?

我有一个简单的表单,其中包含三个不同的文本框,用于在返回结果集之前输入搜索条件。在这三个字段中,我想将两个字段设置为有条件必填,如果...

回答 1 投票 0

MVC5 验证器在同一页面中出现日期和日期时间错误

我的模型中有一个日期和一个日期时间字段: [显示(名称=“Tanggal”)] [必需(ErrorMessage =“Tanggal Harus diisi。”)] [数据类型(数据类型.日期)] [显示格式(

回答 1 投票 0

自定义验证TagHelper:修改子元素

我正在尝试通过更改 TagHelper 中 HTML 子元素的类来实现服务器端验证。 TagHelper 是“kendo-datepicker”,但是当前代码修改...

回答 1 投票 0

动态表单字段验证启用/禁用

在 MVC4 表单(基于另一个字段的值)中动态启用/禁用特定字段的非侵入式验证需要什么? 这个用例是我有一个联系人......

回答 1 投票 0

如何使用 ASP.NET MVC 实现输入屏蔽

我正在使用 ASP.NET MVC 处理一个表单,并试图弄清楚如何最好地实现输入屏蔽(例如电话号码或美国邮政编码)。

回答 1 投票 0

在多个条件下需要使用万无一失

我有一个名为 CustomerType 的下拉列表,其中包含以下值 身份证姓名 1名学生 2 非就业 3 就业 4 自雇人士 我的 viewmo 中还有一处房产......

回答 2 投票 0

ASP.NET核心远程验证不工作

我正在学习ASP.NET Core的教程,这是我第一次使用远程验证。我已经仔细检查了我的代码,并在网上做了很多搜索,从所有的例子中,我 ...

回答 1 投票 0

.NET不显眼的验证自定义日期范围属性显示错误的日期,除非应用程序池被回收。

我们有一个.NET MVC应用程序。在其中我们有Unobtrusive Validation插件和Date Ranges的自定义验证器。Imports System.ComponentModel.DataAnnotations Public Class DateRangeAttribute ...。

回答 1 投票 1

编写和删除后,该字段成为必填字段

我在使用aspnetcore和dataannotationsvalidation时遇到了一个奇怪的行为。我使用的是blazor。我的模型没有指定该字段在模型中是必填的。[Display(Name = "Surname 2")] [...

回答 1 投票 0

正则表达式正向表示“包含10-14位数字”,不能正常工作

我有一个正则表达式,用于验证电话号码字符串为空或包含10-14位任何格式的数字。它至少需要10个字符,但仍然可以匹配......>

回答 1 投票 0

在ASP.NET MVC表单上禁用非侵入式验证

我在页面上有两种形式。我希望第一种形式使用非侵入式验证,因为它是由ASP.NET MVC框架自动生成的。但是,还有第二种形式,我是手动编写的,...

回答 3 投票 5

[使用ajax向ASP.NET Core 3.1控制器发布表单时,415-Unsupported-Media-Type

我有一个基于ASP.NET Core 3.1的项目,在这里我使用jQuery-Unobtrusive和jQuery-Unobtrusive-AJAX验证表单。提交表单后,出现HTTP 415错误。跟随是我控制器的...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.