asp.net-mvc FluentValidation如何应用于复选框验证?

2026-03-30 12:431阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计464个文字,预计阅读时间需要2分钟。

asp.net-mvc FluentValidation如何应用于复选框验证?

我正在使用FluentValidation验证MVC表单上的输入。我有一个复选框。无论我将验证规则设置为什么,它都不会验证复选框。我知道验证工作通常正常,因为我有一个在同一页面上验证下拉列表的正常复选框。

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

我试过了

asp.net-mvc FluentValidation如何应用于复选框验证?

RuleFor(x => x.fullname_required).NotEmpty(); RuleFor(x => x.fullname_required).NotNull(); RuleFor(x => x.fullname_required).NotEqual(false);

这些都不起作用.我要去尝试做这项工作的香蕉.这是一个F *** ing复选框

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

我从未在页面上放置ValidationMessageFor属性作为复选框.它验证很好,但我看不到它.

更新:
最终的目标是有一个复选框,只有在选中第二个复选框时才会对其进行验证.即

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有条件地验证复选框,那就是你如何做到的!

本文共计464个文字,预计阅读时间需要2分钟。

asp.net-mvc FluentValidation如何应用于复选框验证?

我正在使用FluentValidation验证MVC表单上的输入。我有一个复选框。无论我将验证规则设置为什么,它都不会验证复选框。我知道验证工作通常正常,因为我有一个在同一页面上验证下拉列表的正常复选框。

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

我试过了

asp.net-mvc FluentValidation如何应用于复选框验证?

RuleFor(x => x.fullname_required).NotEmpty(); RuleFor(x => x.fullname_required).NotNull(); RuleFor(x => x.fullname_required).NotEqual(false);

这些都不起作用.我要去尝试做这项工作的香蕉.这是一个F *** ing复选框

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

我从未在页面上放置ValidationMessageFor属性作为复选框.它验证很好,但我看不到它.

更新:
最终的目标是有一个复选框,只有在选中第二个复选框时才会对其进行验证.即

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有条件地验证复选框,那就是你如何做到的!