0

我有一个包含多个字段的表单。

其中一些是 userId、userFirstName、userLastName。

当用户输入不正确的 userId 值时,userId 字段页面附近必须显示错误消息并将此错误添加到 validationSummary(这是 asp.net mvc 非侵入式验证的标准行为)。如果 userId 正确,则页面必须删除错误并自动填充 userFirstName 和 userLastName(这不是标准行为)

我该如何实施?

这是我想到的:

  1. 远程验证属性

    就我而言,它的定制很糟糕。这就是为什么我决定不使用它。

  2. 为 jquery 验证插件添加特殊方法(例如

    jQuery.validator.addMethod("userIdValidation", function(value, element) { //一些逻辑返回一些东西; }, "请指定正确的userId"); )

并在那里放置用于验证和自动填充其他字段的逻辑。在这种情况下,我将验证和其他东西混合在一起。

3. 为 jquery 验证插件添加特殊方法仅用于验证,并为自动填充的输入更改事件添加特殊处理程序。

在这种情况下,我需要为一件事向服务器发送两个 ajax 请求。当然也不好。那么正确的方法是什么?我很困惑。

4

1 回答 1

0

您是否考虑过使用局部视图来显示 userFirstName 和 userLastName?

您可以触发发送 userId 的 AJAX 请求,然后返回名称字段的部分视图。在被调用的控制器中,您可以验证传入的 userId,然后在一次查询中获取名称详细信息。如果验证失败,您可以返回带有空字段的部分视图。

于 2013-07-17T19:56:36.843 回答