问题标签 [validationrules]

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.

0 投票
1 回答
1174 浏览

c# - WPF TextBox ValidationRule 绑定

我需要在 WPF 中以编程方式将 ValidationRule 添加到 TextBox。我正在尝试类似的东西:

但是 BindingOperations.GetBinding 返回 null。为什么?非常感谢。

0 投票
5 回答
12932 浏览

codeigniter - 在 Codeigniter 中,如何将第三个参数传递给回调(表单验证)?

我目前正在使用表单验证类(在 Codeigniter 上)并设置规则。

它使用两个参数(codeigniter.com/user_guide/libraries/form_validation.html)像这样工作:

但是第三个参数呢?还有第四个……?可能吗?

0 投票
2 回答
4036 浏览

wpf - WPF 验证控件

我是 WPF 新手,并试图在提交表单上实现验证控制。

谁能帮我。即使我输入了无效数据,我的代码也不会显示任何错误消息,它什么也不做。

这是我的代码,

我的 XAML 代码是,

0 投票
3 回答
869 浏览

c# - 使用验证规则产生错误时如何设置默认值?

我使用验证规则来显示自定义消息,并使用 INotifyDataError 来显示业务规则。

这是我的代码的一部分:

验证是针对 Nullable 数据类型的,我的意思是该值可以是 null 或整数,但不能是像“5b”这样的不正确输入。

问题是当它产生这个错误(noIllegalChars = true)时,我如何将属性设置为null?

编辑:我这样做的原因是,当用户将文本框留空(值将是“”)时,从技术上讲,对于为空值的属性,但它试图将“”设置为属性。

0 投票
3 回答
2981 浏览

c# - 如何验证 WPF 中的数据并设置默认值?

我正在尝试执行验证属性。我们有一个可以为空的属性,称为:

这个属性绑定到一个文本框。我只想验证这两个场景:

  • 假设用户将文本框留空(textbox.text=""),因此 Number 属性必须接收空值(而不是 "" )。
  • 如果用户输入“2b”,Number 属性必须有一个空值(因为是一个错误),但文本框仍然必须说“2b”。

我猜 IDataNotifyError 和 ValidationRules 不适用于此。我该如何解决这些情况?

编辑:当用户输入不正确的格式时,我还使用 ValidationRule 来显示自定义消息。但是当这种情况发生时,不会将属性触发为 null。如果一个 put true 在那个错误中,它会被触发,但不会显示任何错误消息。

验证规则

0 投票
2 回答
2523 浏览

c# - 使用 IValueConverter 验证可为空的 int

我正在尝试执行验证属性。我们有一个可以为空的属性,称为:

这个属性绑定到一个文本框。我只想验证这两个场景:

  • 假设用户将文本框留空(textbox.text=""),因此 Number 属性必须接收空值(而不是 "" )。
  • 如果用户输入“2b”,Number 属性必须有一个空值(因为是一个错误),但文本框仍然必须说“2b”。

所以这个实现是:

上面的代码确实有效,但只有一件事做得不好。当用户输入“2b”时,此时应显示错误(红色边框)。我该如何解决?

注意:验证属性为真。

0 投票
3 回答
1956 浏览

c# - 抛出错误时如何将空值设置为属性?

绑定在 WPF 中非常强大。假设我们有一个 Number 属性(可为 null 的 int)并绑定到一个文本框。

我意识到当它引发错误时,该属性具有最后一个正确的值。

我的意思是这些是过程:

有没有办法在绑定产生错误时设置空值?

有人告诉我我需要实现 IDataErrorInfo,但我猜这个接口是为了验证业务规则。所以我不喜欢使用它。

更新:

0 投票
1 回答
1974 浏览

c# - 将值设置回有效值时,ValidationRules 未消除错误

介绍

我创建了一个DecimalTextBox UserControl,其中包含我需要完成的一些十进制验证,因此我不需要每次都重新创建验证,而可以使用它UserControl根据Josh Smith 的这篇文章,此验证具有需要绑定的属性,因此我创建了DependencyProperties以便可以绑定到它们。


问题

控件的验证行为异常。当我在 中输入错误值时TextBox,它会显示为错误。但是,当我尝试将值更改回代码中时,文本框中显示的值保持不变。

以下是我执行的导致此错误的步骤(在此示例中 1 是无效值):

  1. 加载表单,默认值为0
  2. 在文本框中输入1 (由于验证结果为错误,文本框变为红色)
  3. 在代码中,我将绑定到文本框的属性设置为0
  4. 表单仍然在红色文本框中显示1

代码示例

我准备了一个演示问题的示例,可以在此处下载。

我会在这里发布一些代码,如果您想了解更多,请告诉我。

ValidationTestControl 的 XAML

ValidationTestControls 代码背后

(是的,我不太了解 MVVM,但我觉得这个独立控件没问题)

为绑定创建的 ValidationRule 和 FrameWorkElement

基本上,这段代码的作用是检查您是否输入了“Banana”,然后返回验证错误。该控件公开了依赖属性,因为我希望在使用该控件时能够绑定到它们。NotBananaBinding让我可以创建依赖属性(因为它是一个所以我可以为验证绑定东西。ValidationRule 有一个FrameworkElement NotBananaBinding属性,它存储依赖属性并在 validate 方法中使用它。DependencyObject

我知道我的财产名称有点蹩脚,对不起。问题是该示例在显示错误方面做得很好。在我匆忙做一个例子时,我没有很好地命名变量。如果您发现代码很糟糕,请在此处下载示例


到目前为止我发现了什么

基本上这个问题似乎是由于我实际上并没有改变 value 引起的

即使我在属性上调用 OnPropertyChanged,因为值没有不同,它也不会尝试重新评估验证。

我显然可以将值更改为任意 Valid 值,然后将其更改为我想要的值,它会起作用,但我希望有某种方法可以手动获取呼叫验证,重新评估值然后更改它等等。把它换回来有点乱。


结论

我做错了吗(也许是关于我从 Josh Smiths 帖子中实现验证和绑定的方式)

这只是 ac# 错误,还是预期的行为?如果是,那为什么?

有什么优雅的方法可以解决吗?

u_u

0 投票
2 回答
1014 浏览

php - 如何在 CodeIgniter 中为多个输入的规则设置唯一消息?

我的视图包含一个具有 3 个类似输入的表单:

我添加了一个回调来控制每个文本框都不会收到当前会话电子邮件。

如果我使用当前会话电子邮件,错误消息会显示两次(三个相同)。

在此处输入图像描述

当然,这听起来合乎逻辑......但不是很用户友好。所以我的问题是:如何只包含一条规则的错误消息?

0 投票
1 回答
183 浏览

ruby-on-rails-3 - Rails 3 - 重定向到自己的 URL 的验证规则

我有一个注册表单,在这个模型上设置了一个验证规则,用于检查电子邮件格式是否正确以及输入的电子邮件是否唯一。这工作正常。但是我在注册后可以用户更改他的电子邮件地址 - 以其他形式(设置页面) - 当他设置错误的电子邮件格式或设置电子邮件时,这已经被采用了,所以由于验证规则将不会将此电子邮件保存到数据库,但验证错误会将用户重定向到注册表单。

我的问题是,如何更改重定向 - 我想将用户重定向回设置页面。