ASP.NET MVC:未激发远程验证

本文关键字:程验证 验证 MVC NET ASP | 更新日期: 2023-09-27 18:24:18

调用远程验证时出现问题。在控制器中的远程处理方法中,通过匹配的属性名称和参数,我已经正确设置了所有内容。我唯一怀疑的是我在另一个项目中找到的模型。

这是我的型号代码:

[Display(Name="First name")]
    [Required(ErrorMessage="First name required")]
    public string Firstname { get; set; }
    [Display(Name = "Last name")]
    [Required(ErrorMessage = "Last name required")]
    public string Lastname { get; set; }
    [Display(Name = "Username")]
    [Required(ErrorMessage = "Username required")]
    [Remote("IsUsernameExisted", "UserValidationController", HttpMethod = "POST")]
    public string Username { get; set; }
    [Display(Name = "Email address")]
    [Required(ErrorMessage = "Email address required")]
    [Remote("IsEmailExisted", "UserValidationController", HttpMethod = "POST")]
    public string EmailAddress { get; set; }
    [Display(Name = "Password")]
    [Required(ErrorMessage = "Password required")]
    public string Password { get; set; }
    [Display(Name = "Confirmation password")]
    [Required(ErrorMessage = "Confirmation required")]
    [System.Web.Mvc.CompareAttribute("Password", ErrorMessage = "Passwords don't match.")]
    public string ConfirmationPassword { get; set; }

这个模型是一个单独的项目,但在visualstudio中使用相同的解决方案。

这会是远程验证没有被激发的原因吗。

ASP.NET MVC:未激发远程验证

您的web.config中可能缺少此项吗?

  <appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

"由于使用不引人注目的客户端验证时不会发出JavaScript,因此如果忘记包含验证脚本,则在加载页面时不会看到任何错误。唯一的结果是表单值不会在浏览器中进行验证。"

来源:如何:在ASP.NET MVC 中实现远程验证