gpt4 book ai didi

asp.net-mvc - FluentValidation 可以做复选框吗?

转载 作者:行者123 更新时间:2023-12-01 10:08:33 24 4
gpt4 key购买 nike

我正在使用 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);

没有一个工作。我正在努力使这项工作发挥作用。这是一个他妈的复选框

PS:我发现线程在谈论使用 jQuery,但这是使用服务器端验证,而不是客户端。

最佳答案

我从未在复选框的页面上放置 ValidationMessageFor 属性。它验证良好,但我看不到它。

更新:
最终目标是有一个复选框,只有在选中第二个复选框时才会验证该复选框。 IE

RuleFor(x => x.fullname_show).NotEmpty().When(x => x.fullname_required == true);

但是,在上面的 facepalm 之后这仍然不起作用,但是由于 lomaxx 我能够通过将 fullname_required 转换为 bool 来使其工作?
RuleFor(x => x.fullname_show).NotEmpty().When(x => ((bool?)x.fullname_required) != false);

如果有人试图在 MVC 中使用 FluentValidation 有条件地验证复选框,这就是您的方法!

关于asp.net-mvc - FluentValidation 可以做复选框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8084017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com