- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对使用 fluidvalidator 非常陌生。我所知道的只是基本的rulefor()
,但是当涉及到自定义时我完全一无所知。有人可以指导我吗?
我需要验证可为空的 bool 属性。我需要比较 5 个 bool 属性,如果至少选择了其中之一,则它应该返回 true 且有效,否则,它应该返回 false 并提示一条错误消息,表明至少选择了其中之一。 以下是我想出的但不起作用的内容。
public class NullableValidator : AbstractValidator<bool>
{
public bool isQualificationSet(tblNeutralFileMaint neutral)
{
if (neutral.MediationCivil==false && !neutral.CaseEvalCondemnation==false && neutral.MediationMagistrate==false && neutral.CaseEvalTorts==false && neutral.CaseEvalDomesticViolence==false)
return false;
else return true;
}
}
我这样使用它:
RuleFor(n => n.IsQualificationSet).SetValidator(new NullableValidator());
谁能告诉我怎么做?现在已经为此工作了几个小时。它没有显示任何错误,但不起作用或转到该方法。
最佳答案
我不完全确定我理解你想要做什么。您是否希望仅当 IsQualificationSet 属性设置为 true 时才执行此规则?我不明白 IsQualificationSet 和其他属性之间的关系。
无论如何,如果你想构建一个自定义属性验证器,那么它需要继承PropertyValidator基类(AbstractValidator用于验证顶级对象)。有关于此的文档可用 on the FV wiki )。
因此自定义属性验证器看起来像这样:
public class QualificationSetValidator : PropertyValidator {
// Default error message specified in the base ctor
// but it can be overriden using WithMessage in the RuleFor call
public QualificationSetValidator() : base("At least one property must be selected.") {
}
protected override bool IsValid(PropertyValidatorContext context) {
// You can retrieve a reference to the object being validated
// through the context.Instance property
tblNeutralFileMaint neutral = (tblNeutralFileMaint)context.Instance;
// You can also retrieve a reference to the property being validated
// ...using context.PropertyValue
// here is where you can do the custom validation
// and return true/false depending on success.
}
}
作为定义自定义属性验证器类的替代方法,您还可以使用 PredicateValidator(“必须”方法)内嵌定义自定义规则 - 如果自定义逻辑很简单,这是一种更好的方法。有details on this in the documentation too .
关于c# - 自定义流利验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6706632/
我正在尝试将fluentd与elasticsearch连接起来,并且在启动td-agent服务时遇到此错误。 td-agent.log: 无法与Elasticsearch通信,重置连接并重试。连接被拒
所以我有一个案例,布局已经变得更加复杂。有一些常见的东西,比如 @section styleIncludes{ ... } ,然后是其他部分,这些部分定义了每个页面可以选择(但几乎总是)指定的各种内容
我刚刚看到一个巨大的 Java 正则表达式,它让我对一般正则表达式的可维护性有所思考。我相信大多数人——除了一些糟糕的 perl 贩子——都会同意正则表达式很难维护。 我在考虑如何解决这种情况。到目前
我有一个 12 秒长的 audio.mp3 文件video.mp4 的长度为 60 秒。 我需要在视频的第 40 秒插入audio.mp3。 如何使用 Node-Fluent-ffmpeg 做到这一点
我正在使用 NHibernate + Fluent 来处理我的应用程序中的数据库。到目前为止,我一直在使用 SessionSource 来创建我的 ISession 对象。我现在对来自 NHibern
我在 Java 控制台应用程序中使用 Apache HttpClient 4.5(具有流畅的界面)。我注意到,它的默认超时值似乎是无限的,但我必须为我发送的请求使用非无限的超时值。我想对所有请求使用相
这是我的路线: router.get("answers","delete", Int.parameter) { req -> Future in let answerID = try
我有随机“ session 已关闭!” Autofac 和 Fluent nHibernate 的以下配置错误: 全局.asax.cs: builder.Register(x => new NHibe
我是一名优秀的程序员,十分优秀!