针对List的MVC自定义验证

时间:2017-03-21 13:53:55

标签: asp.net-mvc

我有一个List我在Custom Validation属性中检查。列表在我的视图中以这样的方式呈现

<input type="check" value="Bath">
<input type="check" value="Food">

我的自定义验证器是......

public class MyAttribute: ValidationAttribute
{
  // some logic and then
  // Get Data from some webservice 
  // Make sure CERTAIN checkboxes are selected
  // If Bath was NOT checked then
  return new ValidationResult("Bath is Required")
  // If Food was NOT checked then
  return new ValidationResult("Food is Required")
}

现在这很好用&amp;我可以显示错误消息&#34; 一些错误&#34;在我看来,不过我的问题是我想在复选框周围显示 RED ERROR BOX ,这是必须要检查的。目前我只是在我的VIEW上显示错误消息字符串。用户可以看到所需的内容。

1 个答案:

答案 0 :(得分:0)

您可以将样式属性作为第三个参数传递给剃刀视图中的ValidationMessageFor方法:

@Html.ValidationMessageFor(m=>m.StudentName, "", new { @style="color:red" })

您还可以运行应用程序触发验证消息,在chrome中,右键单击验证消息并检查元素,转到调试器窗口并跟踪与验证错误消息关联的类。

转到site.css并覆盖默认的验证错误消息类,如下所示:

    span.field-validation-error {
        background-color: #ffeeee;
        outline: 1px solid #ff0000;
}

希望这会有所帮助。