gpt4 book ai didi

javascript - 如果第一次提交有错误,ASP.NET MVC4 将不会提交客户端验证

转载 作者:行者123 更新时间:2023-11-30 06:38:40 25 4
gpt4 key购买 nike

<分区>

我有一个简单的设置,但无法弄清楚为什么它不起作用。这是我设置的内容:

  • MVC4
  • Html.EnableUnobtrusiveJavaScript() 和启用 Html.EnableClientValidation()
  • jQuery 1.6.2,jquery.validate.min.js 和 jquery.validate.unobtrusive.min.js引用
  • 没有绑定(bind)到表单或按钮提交的事件

问题是,它似乎在客户端工作,我可以在客户端提交表单并显示适当的验证错误。但是,当我随后正确填写表格并点击提交时,它什么也没做,并且仍然显示我之前的最后一条错误消息。如果我返回并清除字段,验证似乎仍在工作(验证摘要已适当更新)。如果我第一次提交时正确输入了所有字段,它就可以正常工作。只有我第一次出错,它不能再次提交。

该模型仅在名字、姓氏和电子邮件上具有 [Required]。没有其他属性。此外,FormFieldFor 只是 EditorFor() 的包装器。

代码如下。有任何想法吗?谢谢。

@model AscendOne.CareOne.Mvc.Models.ResourceGuideUserModel

@*Form*@
<form id="guide-download-submit" method="get" action="/leads/" target="_blank">

@{
Html.EnableUnobtrusiveJavaScript();
Html.EnableClientValidation();
}


@Html.ValidationSummary()

@if (Model.CampaignID != null)
{<input type="hidden" name="CampaignID" value="@Model.CampaignID" />}
@if (!String.IsNullOrWhiteSpace(Model.PDFUrl))
{<input type="hidden" name="RedirectUrl" value="@Model.PDFUrl" />}

<fieldset>
@Html.FormFieldFor(m => m.FirstName)
@Html.FormFieldFor(m => m.LastName)
@Html.FormFieldFor(m => m.Email)
</fieldset>

<button type="submit">Download The Guide</button>

</form>




public class ResourceGuideUserModel
{
public string CampaignID { get; set; }
public string PDFUrl { get; set; }

[Required]
[DisplayName("First Name:*")]
public string FirstName { get; set; }

[Required]
[DisplayName("Last Name:*")]
public string LastName { get; set; }

[Required]
[DisplayName("Email Address:*")]
public string Email { get; set; }
}

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