问题标签 [remote-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 投票
0 回答
1326 浏览

asp.net-mvc-3 - MVC3 上的远程验证是在 keypress/keyrelease 上触发,而不是在 lostfocus 上触发

我正在尝试在 MVC3 上对注册表单上的用户名输入文本进行远程验证,一切正常,除了我期待在输入失去焦点时触发远程验证,但它会在每次按键或按键时触发这是写在输入中的,导致对动作验证的许多请求与您编写的每个字符一样多。

有任何方法可以使用不显眼的 javascript 中的构建来改变这种行为。

这就是我的属性模型的样子:

这是控制器的样子:

并且使用@Html.Partial 呈现注册表单

谢谢。

0 投票
1 回答
193 浏览

c# - 如果字段没有值,则使用远程验证检查字段是否有值未触发

我收到了上级的指示,使用远程验证而不是RequiredIf 属性来检查某个字段是否具有值,如果它能够被用户编辑。

现在,我的代码看起来像这样 -

查看模型

控制器

...最后,我的观点

问题:验证仅在输入值时触发,但在文本框不包含任何值时不会触发。远程验证是否仅在文本框中有值时才有效?如果不是,我如何错误地处理此设置?

0 投票
3 回答
2448 浏览

c# - 远程验证不会将数据传递给行动

我有模型:

并在 ControllerName 控制器中有一个动作:

但是当调用操作时,参数 someNumber 始终为空。当我尝试调试它时,我得到

我怎样才能让它工作?(我不能传递整个模型 MyModel,也不能在我的视图中更改 MyModel.SomeNumber 字段的名称)

UPD。在我看来输入:

UPD解决了!:) 我使用单个字段 SomeNumber 创建新模型并使用前缀:

0 投票
2 回答
1451 浏览

jquery - jquery validate 远程验证仅在字段更改时才有效

这是我用来验证电子邮件字段的代码。如果我更改电子邮件字段或输入新值,它工作正常,但如果我只是提交表单,它会给我一个错误。经过短暂检查后,我发现如果我不编辑电子邮件字段,则提交按钮不包含在帖子数据中。

我做错了什么,请帮忙。

这是我的控制器代码,它可能有助于扩大调试范围。我正在检查提交按钮是否是发布数据的一部分。

最后,Fabio Antunes 建议的解决方案奏效了。

我更改了以下规则并从输入字段中删除了内联遥控器

0 投票
1 回答
857 浏览

asp.net-mvc - 使用 DataAnnotationsModelValidator 适配器进行 MVC3 远程验证

我想使用自定义 DataAnnotationsAttribute 验证模型的 DTO 属性上的各种电话号码属性。我不想将 DataAnnotations 复制到 ViewModel 上,以保持代码 DRY,而是使用 DataAnnotationsModelValidatorProvider 注册了一个用于客户端验证的自定义适配器。此适配器提供 ModelClientValidationRemoteRules,通常由 RemoteAttribute 使用。jQuery 不显眼的验证然后调用我的验证操作,它验证各个字段。

但是,这种设置还不够。

  1. 该属性当前使用其 ContainerType 来确定要调用哪个验证操作。然而,DTO 在不同嵌套级别的不同视图模型上使用,因此我们不确切知道在操作上使用什么前缀。根据模型层次结构中 ProfileDto 的位置,操作前缀需要更改

  2. 验证操作使用 Request.Form.Keys 来确定应该验证的属性。我知道为了单元测试等原因,最好远离 Action 中的 Request 对象。

有没有一种好方法可以在回发中包含要验证的字段名称,所以我可以在我的操作中将它作为附加参数而不是使用 Request.Form?

有没有办法让模型绑定器绑定我的属性,因为它们将使用取决于子模型名称的前缀回发?

提前致谢!


属性如下:

和适配器:

这是行动:

0 投票
0 回答
458 浏览

c# - ASP.NET MVC4 - 集合对象的远程验证

我无计可施,试图找出一种方法来完成这项工作。我有一个 ASP.NET MVC4 视图,它被强类型化为包含许多集合对象的 ViewModel。其中一个对象是列标题列表

我希望能够简单地使用远程验证属性来限定该成员,例如

然后我可以接受整个集合作为我的验证控制器的 AreCustomExpressionsSafe 操作的参数,以一次对该集合的所有成员执行客户端验证,并与服务器进行一次往返。任何人都可以演示实现这一点所需的代码,可能在 View 和 ViewModel 定义中?任何帮助都将是一个完整的救生员——我真的别无选择。

0 投票
1 回答
753 浏览

jquery - JQuery Validator 插件:远程调用不起作用

我正在尝试使用远程验证来验证用户名。
这是js代码

和php文件

即使用户名已经被占用,它也会继续接受输入。

我已将 php 文件更改为

并不断验证输入。

0 投票
0 回答
130 浏览

ajax - 未为 MVC 远程验证调用调用 DefaultModelBinder 代码

我有一个继承自的 DefaultModelBinder,我尝试覆盖 BindModel 调用和 OnPropertyValidating 调用。

但是,当使用 ASP.NET MVC 的内置远程验证时,当控制器操作被调用时,它会绕过我的 DefaultModelBinder,因此它不会绑定/验证我想要的方式。

我已经在我的 global.asax 中注册了它,有什么想法吗?

0 投票
1 回答
2629 浏览

c# - MVC 3 远程验证多个字段

我想验证三个字段中的至少一个不为空。我正在尝试使用 ASP.NET 远程验证机制来做到这一点。

我有以下模型:

控制器:

EmployeeIds 和 ManagerIds 使用多选在视图上实现。我第一次修改 SuperManagerId 时验证过一次。当我尝试再次修改它甚至提交我的表单时,远程验证不起作用。

我试图强制验证视图:

但这没有帮助。

0 投票
0 回答
874 浏览

c# - 远程属性验证在 ASP MVC 4 中不起作用

我一直在使用 MVC 3 并且 [Remote(action,controller)] 似乎工作完美,尝试在 MVC 4 中执行相同的操作会导致从未调用过的函数。

快速的 google 或 stackoverflow 搜索将在 MVC4 中为您提供许多相同的失败。

我所做的是:

模型:

在 Default1 控制器中:

提前致谢