FluentValidationを使用してMVCフォームの入力を検証しています。
チェックボックスがあります。
検証ルールを何に設定しても、チェックボックスは検証されません。
同じページで正常に検証するドロップダウンリストがあるため、検証が機能していることはわかっています。
意見
<%: Html.CheckBoxFor(m => m.fullname_required) %>
モデル
[Validator(typeof(CreateFormModelValidator))]
public class CreateFormModel
{
public int? group_id { get; set; }
public IEnumerable<SelectListItem> Groups { get; set; }
[DisplayName("Fullname is required")]
public bool fullname_required { get; set; }
}
public class CreateFormModelValidator : AbstractValidator<CreateFormModel>
{
public CreateFormModelValidator()
{
RuleFor(x => x.group_id).NotEmpty().NotNull().WithMessage("Please select a group!");
RuleFor(x => x.fullname_required).NotNull();
}
}
私はもう試した
RuleFor(x => x.fullname_required).NotEmpty();
RuleFor(x => x.fullname_required).NotNull();
RuleFor(x => x.fullname_required).NotEqual(false);
どれも機能しません。私はこの仕事をしようとしてバナナに行きます。これはF***ingチェックボックスです
PS:代わりにjQueryの使用について話しているスレッドを見つけましたが、これはクライアント側ではなくサーバー側の検証を使用しています。