gpt4 book ai didi

c# - 选择列表更改时如何触发远程验证

转载 作者:行者123 更新时间:2023-11-30 17:03:43 26 4
gpt4 key购买 nike

我正在使用 MVC3 和非侵入式验证来检查我的表单。用户可以从列表中选择设施,然后输入审核名称。设施的审核名称必须是唯一的,但每个设施可以使用相同名称进行审核。

模型看起来像这样:

    [DisplayName("Audit Name")]
[Remote("CheckAuditName", "Audit", ErrorMessage = "The audit name has already been used for this Healthcare Facility", AdditionalFields = "HealthcareFacilitySysId")]
public string AuditName { get; set; }

[DisplayName("Healthcare Facility")]
public long HealthcareFacilitySysId { get; set; }

public IEnumerable<SelectListItem> AvailableHealthcareFacilities { get; set; }

远程验证工作正常,我在正确的时间收到正确的消息,但我可以这样愚弄它:

  • 选择设施 1
  • 输入已用于设施 2 的审计名称
  • 选择设施 2
  • 提交表格

在设施列表的更改事件中,我尝试调用

$('form').validate().valid()
$('#AuditName').blur()

等等,但是当我手动调用它时,我无法获取验证远程方法的表单。有可能吗?

最佳答案

问题可能是验证时的某些缓存。尝试这样的事情:

 $("#HealthcareFacilitySysId").change(function () {

$("#AuditName").removeData("previousValue"); //clear cache
$("form").data('validator').element('#AuditName'); //retrigger remote call
$('#AuditName').blur()

});

关于c# - 选择列表更改时如何触发远程验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18333424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com