问题标签 [model-validation]

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

.net - 模型验证中的条件正则表达式

我是正则表达式的新手,正在验证电话号码。如果电话号码以 011 开头。号码可以大于 10 位。如果它不以 011 开头,则它必须在 10-15 位之间。目前我有(?(011)\d{10, 15}|\d{7,}),但这不起作用。我知道我错过了一些东西,只是无法弄清楚它是什么。

0 投票
4 回答
4457 浏览

backbone.js - Backbone.js 模型验证不起作用

以下代码有什么问题?

输出:

我目前正在观看一个视频教程,它基于老版本的主干.js,其中默认情况下对set方法强制执行验证。但在当前版本中,默认情况下对save方法强制执行验证。

但即使它不是一个有效值并且验证没有通过,为什么它仍然将值设置为 -9。验证不通过时不应该不设置值吗?

0 投票
2 回答
1395 浏览

c# - 没有数据注释的 MVC 中的自定义模型和客户端验证

我有以下视图模型,用于表示问题调查,但它们被构造成更扁平的网格以适应默认模型活页夹。

每个SurveyRow都像一张桌子的一排。只有SurveyRowType.AnswerRow实际使用AnswerControls列表。

在此图中可以看到按类型和订单号呈现时的排序示例: 在此处输入图像描述

该图像仅显示了一些简单的示例,每页可以有 1-10 行,最多 100 行,但我还添加了一些我想要应用的验证规则的解释。还有更多,但这些只是几个例子。

我的问题是我想支持这种更复杂的验证,但所有规则和错误文本都存储在数据库中,1. 因为用户配置,2. 因为错误文本的现有本地化支持多种语言。

我正在寻找人们可能必须能够支持这一点的任何建议。

我已经看到了Fluent Validation之类的东西,但我还没有深入研究,但到目前为止,我看不到任何不会在模型上使用数据注释的示例..以及适用的 RequiredIf 或 DisabledIf 或 EnabledIf 样式验证规则跨越稍微复杂的对象集合。

0 投票
1 回答
498 浏览

.net - .NET WebAPI DataModel - “一个元素或另一个”所需的数据注释

我的 Web 服务需要接受包含许多元素的模型。域是广播媒体。

模型的要求之一是它包含一个<digital></digital>元素或一个<physical></physical>元素。

所以这是可以接受的:

或者:

我的班级是这样的:

在 WebAPI 中,我显然可以将RequiredAttribute 应用于属性,但这不是我在这种情况下想要的,因为我想要一个元素或另一个元素。

在这种情况下,是否有使用属性进行模型验证的方法?

0 投票
1 回答
1534 浏览

asp.net-mvc - Html.PasswordFor() 不显眼的字段验证

我一直试图弄清楚这一点,但没有运气。我有一个具有两个属性的模型:PasswordConfirmPassword.

如果我在视图中将它们显示为 TextBoxes ( Html.TextBoxFor(...)),则验证工作正常。但是,如果我将这些显示为密码字段 ( Html.PasswordFor(...)),那么在提交表单之前验证将不起作用。

下面是我的视图和模型的代码。请注意,该视图只是一个测试视图,我没有在其上放置提交按钮。模型:

看法:

如果有人能够提供帮助,那将不胜感激。

非常感谢!

0 投票
3 回答
3529 浏览

c# - 数据成员验证 - ISO 4217(货币)和 639-1(语言)

因此,我希望对我目前正在处理的 .NET 项目中的某些模型进行一些自定义数据字段验证。

这些涉及默认语言和默认货币。为了满足此应用程序以及所涉及的各种其他应用程序和服务的标准,货币需要是 ISO 4217(3 字符货币)标准,语言需要是 ISO 639-1(2 字符语言)。

看到在任何地方都没有为此进行模型验证,我很高兴设置它,在我开始制作一些巨大的自定义数据验证器之前,我想知道是否有人知道任何现有的库可以随时提供这些标准,甚至如果它类似于检查我可以自己插入数据验证器的字符串。

任何意见和/或建议将不胜感激。

0 投票
2 回答
8221 浏览

c# - 从模型验证中排除字段

假设我有以下内容ViewModel

ViewModel不是原创的Entity,我在两个地方使用这个模型,在第一个我想验证所有字段,但在另一个我想Email从模型验证中排除字段。是否有指定从验证中排除字段?

0 投票
1 回答
1661 浏览

validation - 模型验证 Symfony2

我已经阅读了如何使用 sf2 在服务器端验证表单。解决方案是使用实体中的约束作为注释、validation.yml 或在 EntityType (Form) 内部。

一切都很好,但是,所有这些验证都只适用于表单。但是当您实例化一个新对象并尝试持久化时,验证不起作用。

我会给你一个例子。

想象一下我有一个用户实体:

然后,在某些控制器中,我尝试使用以下方式保存我的表单:

一切都很完美,因为我的实体和表单之间存在关联。但是如果我需要实例化一个没有表单的对象会发生什么?我应该做这样的事情:

如果我这样做,实体不会被验证,并且 DB 会抛出错误,因为“电子邮件”字段是必需的。

我是否应该始终将我的实体与要验证的表单相关联?如果是这种情况,我完全不同意,因为如果我正在使用 Web 服务,我不想创建一个表单只是为了在服务器端进行验证。

那么,我怎么能做这个验证呢?谢谢你的帮助。

0 投票
1 回答
998 浏览

query-string - Web API:使用 DataAnnotations 的 QueryString 模型绑定规则

我对模型绑定,特别是模型验证如何在 Web API 中发生感到非常困惑。我的大部分操作都通过 POST 请求接收对象,并且我的模型应用了各种 ValidationAttributes,例如 RequiredAttribute、MinLengthAttribute、StringLengthAttribute 等。

但是,我的一项操作是 GET 请求,并且具有类似于以下的签名:

最初,它看起来像下面这样,但后来我发现您可以创建一个类来封装查询字符串中的参数:

使用后者,我无法对参数进行任何形式的验证。例如,将 RequiredAttribute 应用于 searchPath 参数似乎什么也没做。这促使了对操作签名的更改,并创建了 SearchRequest 类,如下所示:

使用这种方法,似乎RequiredAttributes 被识别(它们导致模型验证失败),但执行模型验证时返回的错误消息不是我在上面RequiredAttributes 中指定的错误消息。

在使用 POST 请求进行模型验证时,我没有这个问题,并且不完全理解为什么当模型通过查询字符串出现时它的行为会有所不同。

有人可以对此有所了解吗?我想了解如何验证在查询字符串中传入的参数 - 我认为除了在操作正文中执行验证之外还有其他方法。

我在这里阅读了这篇文章,但它并没有真正解释当模型进入查询字符串时模型验证如何或为什么会有所不同。

0 投票
1 回答
4879 浏览

c# - ASP.NET Web API:如果从资源中设置错误消息,则模型有效

问题是,如果我使用 .rsx 文件(资源)提供自定义错误消息,则在 ApiController ModelState.IsValid中始终为真。

这是我的模型:

ApiController 中的方法:

和过滤器:

我在 POST 请求中发送这个:

ModelState.IsValidfalse,响应如预期:

但是,如果我在验证属性中使用资源(配置为公共嵌入式资源构建操作):

(' Test '键只保存' Test '字符串值) ModelState.IsValid为真。

Resources 类是可见的,并且 resharper 正确验证了ErrorMessageResourceName中提供的字符串。