これが私が持っているものです。
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.NETMVCのクライアント側の検証で機能しますが、すべてのルールがサポートされているわけではありません。たとえば、条件(with When/Unless
)、カスタムバリデーター、またはの呼び出しを使用して定義されたルールMust
は、クライアント側では実行されません。
詳細はこちら
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加