问题标签 [validation-controls]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET 中的可选验证
我有一个包含三个单选按钮的页面,具体取决于选择了哪个按钮,我需要验证一些控件(使用必填字段验证器)。除了使用自定义验证器之外,还有什么方法可以做到这一点?
谢谢
asp.net - 动态验证控件在更新面板中不起作用
我正在动态创建验证控件并将它们添加到更新面板。但是,客户端验证永远不会触发。
这是.aspx文件:
这是后面的代码:
这是创建验证控件的类:
当您点击下一步时,客户端验证永远不会触发。真正奇怪的是,当您将按钮包装在另一个更新面板中时,验证会触发(在 IE 和 Firefox 中,但不在 Chrome 或 Safari 中)。
有人知道发生了什么吗?我知道 Asp.net AJAX 的第一个版本不支持验证控件,但一切都是最新的。
asp.net - Asp.net 动态验证器在 Chrome 或 Safari 中不起作用
好的,我正在动态创建 Asp.net 验证控件并将它们插入到更新面板中。验证在 IE 和 Firefox 中有效,但在 Chrome 或 Safari 中无效。
这是aspx文件。不要问我为什么不使用按钮服务器控件...
这是后面的代码:
这是课程:
有没有人知道如何让它在 Chrome 和 Safari 中工作?
javascript - 验证服务器控件在任何方面都比 javascript 更好吗?
验证服务器控件是否比 javascript 更好?它们是否限制了我们,因为我们只能使用它们提供的功能。请帮助我。我在自己的博客上阅读了有关验证服务器控件的信息
asp.net - 如何清除按钮单击事件中的 CustomValidator 错误?
我有一个用于输入日期的复合用户控件:
CustomValidator 将包括服务器端验证代码。如果用户以任何方式更改日期值,我希望通过客户端脚本清除错误消息。为此,我包含以下代码以将两个下拉菜单和年份文本框连接到验证控件:
但是,我还希望在用户单击清除按钮时清除验证错误。当用户单击清除按钮时,其他 3 个控件将被重置。为了避免回发,清除按钮是一个常规的 HTML 按钮,带有一个重置 3 个控件的 OnClick 事件。不幸的是,ValidatorHookupControlID 方法似乎不适用于 HTML 控件,因此我想将 HTML Button 更改为 ASP 按钮,然后改为 Hookup 到该控件。但是,我似乎无法消除默认情况下与 ASP 按钮控件关联的回发功能。我尝试将 UseSubmitBehavior 设置为 False,但它仍然提交。我试图在我的 btnClear_OnClick 客户端代码中返回 false,但是发送到浏览器的代码在我调用之后包含了一个 DoPostback 调用。
我没有添加 OnClick 代码,而是尝试覆盖它,但 DoPostBack 代码仍然包含在发送到浏览器的最终代码中。
我该怎么做才能让 Clear 按钮在单击时清除 CustomValidator 错误并避免回发?
asp.net - 如何在不同时执行即时验证的情况下重新启用验证控件?
当我调用此函数以从客户端 javascript 启用验证器时:
所需的验证控件立即执行验证,发现相关文本框中的值空白并将焦点设置到文本框(因为 SetFocusOnError 设置为 true)。结果,副作用是焦点转移到了与验证控件关联的控件,例如 txtSpecifyOccupation。
也许有一种方法可以启用(必需的)验证器,而无需同时执行验证(至少在用户选择它之前?)
我希望 txtSpecifyOccupation 文本框的验证仅在页面提交时或当用户选择了所需的 txtSpecifyoccupation 文本框时发生。
我怎样才能做到这一点?
asp.net - 从客户端,强制整个页面验证
我有一个 ASP 按钮,我已为其设置 OnClientClick 属性以显示 javascript 确认消息。但是,我只希望在所有客户端验证都通过后显示此消息。
我怎样才能做到这一点?从本质上讲,我认为我需要从客户端强制页面级别验证,然后,只有当它通过时,才会显示确认框。
asp.net - ASP.NET 使用不同的验证组验证所有验证器
我正在编写一个 ASP.NET 页面并尝试让验证工作。我的问题是我有一个包含多个自定义网格控件的转发器,每个控件都有验证器和验证摘要。
起初,我没有分配任何验证组,但这最终使验证摘要出现在每个网格中,只要有一个错误(我想,因为验证摘要的验证组没有设置,这意味着它捕获了所有验证错误)。
所以我为每个网格分配了一个单独的验证组,对于控件上的某个属性是唯一的。但是我在页面底部有一个按钮(没有验证组),需要验证输入。没有验证组,它不会自动验证网格的验证器,所以我添加了一个单击处理程序,它调用Page_ClientValidate()
. 没有骰子——验证无处不在。
好的,所以我遍历验证组并调用Page_ClientValidate(validationGroup)
每个验证组(如果它有任何验证器)。当只有一个网格有验证器时工作正常,但当两个或更多有验证器时,它会自动隐藏所有验证摘要,但最后一个已检查。有什么方法可以禁用这种行为,或者有更好的方法来完全做到这一点?
如果需要,我想我可以在完成迭代验证后查看并取消隐藏其他验证摘要(尽管这可能有其他含义),但我还需要取消隐藏验证器显示(我正在使用表示无效字段的图像)。这似乎是一个令人讨厌且可能很脆弱的解决方案。
编辑:哦,一个转折。我尝试采用我最后提到的方法——重新显示无效的隐藏验证器/验证摘要——但 Microsoft 代码也阻止了这一点;在ValidatorValidate(validator, validationGroup, event)
方法的第一行(由Page_ClientValidate(validationGroup)
页面中的每个验证器调用),validator.isvalid
设置为true
,并且仅设置为条件内验证函数的返回值,该条件仅在validationGroup
参数与验证器匹配时运行。结果是,隐藏的验证器都被标记为有效,因此很难在事后确定验证器是否有效,因为它实际上是有效的,或者是因为微软在设计客户端验证代码时很愚蠢。
asp.net - 当验证失败时我需要修改 HTML 时,是否可以使用 ASP.NET 验证控件?
假设我在 ASP.NET 页面上的文本框有以下 HTML:
像这样向此页面添加必填字段验证器很容易。
但是如果这个文本框验证失败,我需要稍微修改一下 HTML。我需要向 DIV 添加一个 CSS 类。因此,如果用户将此字段留空,我需要 HTML 如下所示:
这可能吗?我不知道是否有一种方法可以编写代码,只有在这个特定的验证器控件验证失败或其他情况下才会触发。我知道我可以编写在整个页面无效时运行的代码。但我只想在此验证器返回无效时运行此代码。希望这是有道理的。
科里
asp.net - 在验证代码中的变量时使用哪个验证控件(而不是另一个控件)?
假设我有一个字符串列表。我有一个 TextBox 和一个ADD 按钮,它不向列表添加空值。
页面上还有一个NEXT按钮。单击下一步按钮时,列表的内容将显示在另一个页面上。我想继续进行验证,以便用户只有在列表不为空(至少包含一个元素)时才能访问结果页面。
另外,我希望摘要验证显示错误消息,以保持显示错误的标准方式。这是我用来检查单击了哪个按钮以及列表中的元素数量的代码。
- 我如何进行验证,即我需要哪个验证控件?
- 如何向摘要验证控件显示错误消息?
感谢您的帮助