【问题标题】:MVC Custom Validation against List针对列表的 MVC 自定义验证
【发布时间】:2017-04-25 18:13:36
【问题描述】:

我有一个列表,我正在我的自定义验证属性中进行检查。在我的视图中列出这样的渲染

<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")
}

现在这工作正常,我可以在我的视图上显示错误消息“Some Error”,但是我的问题是我想在周围显示 RED ERROR BOX需要检查的复选框。目前我只是在我的视图上显示一个错误消息字符串。如果用户能看到需要什么,那就太好了。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您可以将样式属性作为第三个参数传递给 razor 视图中的 ValidationMessageFor 方法,如下所示:

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

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

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多