繁体   English   中英

MVC 和 Fluent 验证使用 When

[英]MVC and Fluent Validation using a When

这是我所拥有的..

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 的客户端验证一起使用,但并非所有规则都受支持。 例如,使用条件(使用When/Unless )、自定义验证器或对Must调用定义的任何规则都不会在客户端运行。

在这里查看更多信息

Fluent Validation 支持服务器端验证。 您可以在客户端使用一些验证(如必需)。

如果要在客户端使用服务器端验证,则需要另一个库。 您可以在客户端使用所有服务器端验证。 检查 github 上的 Form Helper 库。 它可以帮助您将服务器端验证传输到客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM