问题标签 [validationattribute]

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 回答
669 浏览

c# - 如何根据 CRUD 操作插入或更新禁用或更改属性

我正在尝试在 Visual Studio 2013.4 上使用带有 EntityFramework 的 ASP.NET MVC 构建一个小型网站

我有这个模型:

该模型有一个自定义属性,称为[ValidUserName].

问题是当我尝试向数据库添加新记录时,[ValidUserName]工作正常,它会通知最终用户用户名是否存在于数据库中。但是,当更新操作发生在更改密码的记录上时,会[ValidUserName]告诉我用户名存在于数据库中。在此处输入图像描述

我知道用户名已经存在,但是我该如何解决这个问题来让[ValidUserName]接受当前用户名,因为用户名应该保持原样?

这是控制器中的代码:

编辑

我在模型中使用此代码

在控制器中我添加以下代码

这里的问题是远程属性需要指定控制器名称,在这种情况下,如果我的控制器位于名为“Admin”的区域内,我应该写什么

0 投票
1 回答
1734 浏览

c# - 在自定义验证属性中获取值?

DI 创建了两个自定义验证属性。完成日期验证后,我想进行时间验证,但要做到这一点,我需要 MyDate。如何从时间验证中访问 MyDate?

我的模型:

我的时间验证:

0 投票
0 回答
1692 浏览

c# - 验证属性取决于对象实例类型

我正面临一个受孕问题。我们可以通过两种方式创建和更新我们的交易:使用网络表单(一种创建交易,另一种编辑交易)和通过集成文件(允许大规模创建和更新)。

我有一个验证逻辑要实现:在交易创建时,只接受活跃的推销员;在更新中,接受活动推销员加上以前的推销员值(存储在 DB 中)。

我写了这样的东西:

}

这是一个好方法(符合MVC)还是不是?验证属性是否必须知道它应用的女巫类型?

提前感谢您的任何建议:)

0 投票
2 回答
551 浏览

c# - 自定义验证属性不适用于数字属性

我有一个用于验证十进制属性的自定义验证属性

但是,当它不起作用并且当我将文本框绑定到该属性并将无效值输入到文本框中时,将显示消息“无法转换值”而不是我的自定义验证属性的错误消息。

有趣的是,我发现像“必需”这样的其他验证属性也不适用于数字属性。

编辑

我的绑定部分是:

我的解决方案

这就是我解决问题的方法。我不确定这是否是最好的方式,但是我会为您的任何建议分享它。

我实际上使用了两个属性,一个用于绑定和验证,另一个用于在数据库中保存数据

现在它完全符合我的需要。

请发表您的意见,提出您的建议并提供更好的解决方案。

0 投票
1 回答
606 浏览

c# - NancyFX 中的自定义 ValidationAttribute 未被识别或使用

我指定了一个自定义NonEmptyGuidAttribute扩展ValidationAttribute,如下所示

这样做的目的只是为了确保如果我的模型之一具有Guid属性,则该属性不为空且有效。

下面是正在使用的此属性的示例。我必须创建Guid一个可为空的类型,以便[Required]尊重该属性。

如果我通过如下请求访问我的 API,它不会使用[NonEmptyGuid]验证逻辑。我知道这一点是因为我在其中放置了断点以及构造函数来查看属性是否已初始化。

我希望这会命中我的验证器并由于id上述请求中的无效属性而失败。它确实失败了,但是因为在尝试转换 Guid 时抛出了如下所示的异常。

为什么这不起作用?

0 投票
0 回答
472 浏览

c# - Asp.Net Mvc 如何进行条件验证

我正在尝试构建一个演示应用程序以获得 Asp.Net Mvc 5 开发经验。在这些日子里,我正在尝试建立一个站点设置。

我有一个名为 Settings 的模型。并且有如下属性。

在 ApplicationUserManager 我做了这些修改。

因此,密码验证将在运行时指定。到目前为止,一切都很好。应用程序更灵活一点。但!RegisterViewModel 怎么样。

有如下属性

我如何验证密码的最小值,长度?或 AlphaNumeric 字符,如果为PasswordRequireNonLetterOrDigit假?用户名也是如此。这取决于UseAlphaNumericCharacters

谢谢你。

0 投票
2 回答
1013 浏览

regex - 客户端验证不支持使用 Unicode 的 ASP.NET MVC 正则表达式验证

我想验证一个给定的字符串,该字符串将用于在服务器中保存具有所需名称的文件。

这需要我使用以下正则表达式:^[\p\w\-. ]+$ 它很好用,但仅适用于英文字符串。

所以我已经像这样修改了它^[\p{L}\w\-. ]+${L}修改器设置为接受任何 Unicode 字符。

这是视图模型。

这是 html 渲染

但客户端验证不接受任何 Unicode(希伯来语)字符串..

有什么办法可以克服这个吗?

0 投票
1 回答
8141 浏览

c# - 测试覆盖 IsValid 的 ValidationAttribute

我在测试我的自定义验证属性时遇到了一些麻烦。由于方法签名是protected当我IsValid在单元测试中调用方法时,我不能传入Mock<ValidationContext>对象,而是调用基virtual bool IsValid(object value)类。

验证属性

测试

如果我无法通过模拟验证上下文,那么我该如何正确测试这个类?

0 投票
0 回答
634 浏览

c# - 将自定义验证属性与格式相结合

我有一个元数据类用于我Customer验证PurchaseDate.

  • 第一个注释 ( DataType) 用于格式化 an 中的日期EditorFor,以仅显示日期部分。
  • 第二个注释是一个自定义验证,用于验证该值是否为 DateTime,包括自定义错误消息。

我的问题是第一个注释将取消第二个注释的错误消息。

是否可以仅使用数据注释将这两者结合起来?还是我必须格式化日期EditorFor

如果我尝试[DataType(DataType.Date)]

我不会收到我的自定义错误消息。

编辑
我的主要目标是有一个自定义错误消息,同时也只在呈现的输入字段中显示日期部分。是否可以仅使用数据注释?

这是MyDate属性:

0 投票
1 回答
24 浏览

c# - 检查不同的 ValidationAttributes 并做出合乎逻辑的决定?

我想实现以下目标,但似乎不可能:

我不想融合这两个验证,因为 genericValidation 在程序(其他类)的多个地方使用,并且必须在每个 specificValidation 上复制/粘贴。而具体只针对这个类,所以我试图将具体和通用分开。

我想避免将泛型的内容复制粘贴到每个特定的验证中。鉴于这种通用/特定的“或”发生在几个类中。

有什么办法可以做到这一点?