Asp.net mvc 自定义数据批注不起作用

Asp.net mvc 自定义数据批注不起作用,asp.net-mvc,data-annotations,Asp.net Mvc,Data Annotations,我在我的代码中为我的文本区域添加了以下自定义数据注释验证(仅允许有效的电子邮件ID) 型号: public class BuildModel { public Int64 ConfigID { get; set; } [Required(ErrorMessage = "Please select a stream!")] public string StreamName { get; set; } [Required(ErrorMessage = "Plea

我在我的代码中为我的文本区域添加了以下自定义数据注释验证(仅允许有效的电子邮件ID)

型号:

 public class BuildModel
{
    public Int64 ConfigID { get; set; }

    [Required(ErrorMessage = "Please select a stream!")]
    public string StreamName { get; set; }

    [Required(ErrorMessage = "Please select a build location!")]
    public string BuildLocation { get; set; }

    public string Type { get; set; }

    public bool IsCoverity { get; set; }

    [ValidateEmails(ErrorMessage = "NOT VALID !!!")]
    public string EmailIDsForCoverity { get; set; }
   }
当我运行我的应用程序并在文本区域中输入无效字符串时,断点会在验证中命中。但是,提交操作仍在继续


实际上,我有一个引导模式表单,我在其中进行验证。单击submit按钮,内置的自定义验证(如“Required”)运行良好。但是,我的自定义数据批注验证无法工作。我在这里做错了什么?

您应该检查控制器中的
Model.IsValid
Model.IsValid
如果任何验证失败(包括自定义验证),则返回
false
。因此,控制器的代码如下所示

  [HttpPost]
  public virtual ActionResult Index(BuildModel viewModel)
  {

    if (ModelState.IsValid)
    {
      // Your Custom code...
    }

    return View(viewModel);
  }

您的代码应类似于以下内容:

[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }

问:你可以使用<代码>Regular表达式的代码>验证者对于这一点和regex对于这一点和regex对于这一点和regex对于这一点和regex对于这一点以及regex对于这一点的逗号分隔的验证是<代码>(((a-a-a-a-a-a-a-a-a-a-zA-zA-zA-Z0-Z0-9-9-10-10-10-10-9-10-10-9-10-9-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-10-9-10-10-10-10-9 1240;\s*$))*请查看更多信息您的属性需要实现
IClientValidable
,并且您需要编写脚本将规则添加到
$验证程序中。如果您想要客户端验证。有任何示例或演示吗?只需使用数据类型属性验证您的字段,mvc有一个内置的,但我只需要在客户端验证它。然后你应该使用jquery验证。服务器端的自定义验证工作。我的输入将是逗号分隔的电子邮件ID,而不是单个电子邮件ID。
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }