我有一个包含多个字段的表单。
其中一些是userId,userFirstName,userLastName。
当用户输入不正确的userId值时,接近userId字段页面必须显示错误消息并将此错误添加到validationSummary中(这是asp.net mvc unobtrusive验证的标准行为)。如果userId正确,那么页面必须删除错误并自动填充userFirstName和userLastName(这不是标准行为)
我该如何实现?
以下是我的想法:
远程验证属性
在我的案例中,它的定制很糟糕。这就是为什么我决定不使用它。
为jquery验证插件添加特殊方法(例如
jQuery.validator.addMethod(“userIdValidation”,function(value,element){ //一些逻辑 回归一些东西 },“请指定正确的userId”); )
并将逻辑用于验证并自动填充其他字段。 在这种情况下,我混合验证和其他东西。
3。添加jquery验证插件的特殊方法仅用于验证,并为autopopulate添加输入更改事件的特殊处理程序。
在这种情况下,我需要向服务器发送两个ajax请求。当然,它也不好。那么正确的方法是什么?我很困惑。
答案 0 :(得分:0)
您是否考虑过使用局部视图来显示userFirstName和userLastName?
您可以触发发送userId的AJAX请求,然后返回名称字段的部分视图。在被调用的控制器中,您可以验证传入的userId,然后在一个查询中获取名称详细信息。如果验证失败,您可以返回带有空字段的局部视图。