c# - 使用 When 的 MVC 和 Fluent 验证
问题描述
这就是我所拥有的..
public class PersonalDetailValidator : AbstractValidator<PersonalDetail>
{
public PersonalDetailValidator()
{
RuleFor(x => x.LastName).NotNull().WithMessage("Person's Last Name is required");
RuleFor(x => x.FirstName).NotEmpty().When(x => string.IsNullOrWhiteSpace(x.LastName) == false).WithMessage("Person's First Name is required");
}
}
[Validator(typeof(PersonalDetailValidator))]
public class PersonalDetail
{
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
}
问题是针对姓氏的第一条规则在客户端起作用,但是在将某些内容输入到姓氏之后,针对名字的规则没有触发。
任何人都可以帮忙吗?
解决方案
FluentValidation 将与 ASP.NET MVC 的客户端验证一起使用,但并非所有规则都受支持。例如,使用条件 (with When/Unless
)、自定义验证器或调用定义的任何规则Must
都不会在客户端运行。
在此处查看更多信息
推荐阅读
- phpstorm - PhpStorm 调试 HTTP 请求未命中断点
- java - Viewpager in Android: Adjust image size for a slider
- python - How can you get the list of items that match a QSortFilterProxyFilter?
- sql - Reference Parent inside Table
- python-3.x - Does time series forecasting belong to supervised learning? or is it another category of machine learning?
- php - PHP SQLite - Not returning correct count of match
- r - 在 R 中创建或初始化一个空矩阵
- java - Java OutputStream that incrementally processes text
- c++ - Boost 为 ode 集成提供了奇怪的结果
- python - 新的 Python 安装 - Openpyxl 不会导入“工作表”