0

我有一个视图模型

    [CustomValidation(typeof(MyValidation), "MyMethod")]
    [Serializable()]
    public class TransactionViewModel
   {
      public string InvoiceNumber;
   }

 public class MyValidation
{

  public static ValidationResult validatelength(TransactionViewModel length)
{

bool isValid;
 if (length.InvoiceNumber.Length >15)
isValid = false;
 else
isValid = true;
   if (isValid)
 {
    return ValidationResult.Success;
}
 else
 {
    return new ValidationResult(
      "The Field value is greater than 15");
 }
  }
}

现在我正在检查我的类对象的某些字段,如果验证失败我正在检查控制器中的模型状态并返回视图,为发票编号添加了验证消息但仍然没有收到错误

我们可以将验证属性应用于模型视图吗,如果我做错了什么,PLS 提供解决方案

4

2 回答 2

1

利用

<%= this.Html.ValidationSummary() %>

或者

@this.Html.ValidationSummary()

你会得到你正在寻找的东西。

如果你的模型状态无效,你会得到你正在寻找的错误。

你的问题是你的错误是你的错误没有与班级的任何成员相关联。在模型状态中,它具有键“”,因为它没有与任何字段相关联。

于 2012-06-15T15:00:19.563 回答
0

也许您忘记将validationsummary 放在您的视图上?

<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>

请提交您的观点以供审核。同时在这里你是它工作的好例子: Validation with the Data Annotation Validators (C#)

Scott 博客中的模型验证

在此处查看本教程处理模型错误,但使用空字符串作为键:

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

如您所料,错误消息将出现在 <%: Html.ValidationSummary() %> 中。

于 2012-06-15T17:38:29.390 回答