Tag: fluentvalidation

Fluentvalidation,Asp.NET Core列表中每个项目的不同validation

我一直试图找到一种方法来validation列表中的项目,每个项目都有不同的validation规则。 我发现了Fluentvalidation,这是一个很棒的库,但我似乎无法找到一种方法来单独对每个项目进行validation。 我从这个类似的线程( 使用流畅的validationvalidation2列表 )得到了一个微弱的想法,但我不知道如何关注它我想要的方式。 所以我有这个视图模型: public class EditPersonalInfoViewModel { public IList UserPropertyList { get; set; } } 其中包含Active Directory属性列表。 每个由这个类代表: public class Property { public string Name { get; set; } public UserProperties Value { get; set; } public string input { get; set; } public bool Unmodifiable { get; set; } public string […]

自定义validation属性有多个实例问题

我在C#4中使用tha命名空间System.ComponentModel.DataAnnotations来实现我自己的validation属性,它看起来像这样 [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public sealed class MyCustomValidator : ValidationAttribute { private String Property1 { get; set; } private String Property2 { get; set; } public ValeTaxiSituacaoRequired(String property1, String property2) { Property1 = property1; Property2 = property2; } public override bool IsValid(object value) { //validation logic } } 我想使用这个属性如下 [MyCustomValidator(“Name”, “Job”)] [MyCustomValidator(“Name”, “Email”)] [MyCustomValidator(“Name”, […]

如何在使用附加调试器运行测试时阻止VerificationException?

每当我运行附加调试器的以下任一unit testing时,此时我在FluentValidation代码中得到一个VerificationException (如果需要,将在稍后发布整个堆栈跟踪 ): at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy) in …\FluentValidation\Resources\LocalizedStringSource.cs:line 66 测试是: using FluentValidation; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { var c = new MyClass(); var v = new MyValidator(); v.Validate(c); } [TestMethod] public void TestMethod2() { Exception ex = null; var done = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem( o […]

FluentValidation:检查两个字段中的一个是否为空

我有这个模型 public class Person { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 我想创建一个validation,其中FirstName或LastName必须由用户填写。 我安装了FluentValidation并创建了一个customvalidator类 public class PersonValidator:AbstractValidator { public PersonValidator() { RuleFor((person=>person.FirstName)//don’t know how to check if one is empty } } 要检查一个字段我可以做RuleFor(person => person.FirstName).NotNull(); 但是我如何检查其中一个是否为空。 此外,一旦通过fluentValidation创建validation,是否有可能在客户端使用它来显示错误? EDIT1 protected void […]