Tag: validation

使用数据注释进行模型validation的错误消息

鉴于以下类别: using System.ComponentModel.DataAnnotations; public class Book{ public Contact PrimaryContact{get; set;} public Contact SecondaryContact{get; set;} [Required(ErrorMessage=”Book name is required”)] public string Name{get; set;} } public class Contact{ [Required(ErrorMessage=”Name is required”)] public string Name{get; set;} } 有没有一种干净的方法我可以使用DataAnnotations为Book每个Contact实例提供明确的错误消息? 例如,如果PrimaryContact实例中缺少名称,则错误将显示为“需要主要联系人姓名”。 我目前的解决方案是创建一个validation服务,检查模型状态是否存在字段错误,然后删除所述错误并使用我想要的特定语言将其添加回来。

使用属性validation

我有,比方说,这个简单的类: public class User { [Required(AllowEmptyStrings = false, ErrorMessage=”EmailIsRequired”] public string EmailAddress { get; set; } } 我知道如何在System.ComponentModel.DataAnnotations命名空间中使用Validator.TryValidateProperty和Validator.TryValidateObject。 为了使其工作,您需要要validation的对象的实际实例。 但是现在,我想要在没有User类实例的情况下validation某个值,例如: TryValidateValue(typeof(User), “EmailAddress”, “test@test.com”); 我的目标是在实际必须实例化对象本身之前测试一个值(原因是我只允许创建有效的域实体)。 所以实际上我想在类而不是实例上使用validation属性。 有什么想法可以做到吗? 谢谢! 编辑:同时我决定不使用数据注释,而是使用http://fluentvalidation.codeplex.com,以便validation移出实体之外。 这样,可以从实体内部以及我的命令处理程序中触发validation。 由于流利的符号,validation本身看起来更具可读性。

如何在C#和DataAnnotation中创建通用的UniqueValidationAttribute?

我正在尝试使用System.ComponentModel.DataAnnotations.ValidationAttribute创建UniqueAttribute 我希望这是通用的,因为我可以传递Linq DataContext,表名,字段并validation传入值是否唯一。 这是一个不可编译的代码片段,我现在卡在这里: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel.DataAnnotations; using System.Data.Linq; using System.ComponentModel; namespace LinkDev.Innovation.Miscellaneous.Validation.Attributes { public class UniqueAttribute : ValidationAttribute { public string Field { get; set; } public override bool IsValid(object value) { string str = (string)value; if (String.IsNullOrEmpty(str)) return true; // this is where I’m stuck return […]

使用父模型值进行子模型validation。 流利的validation。 MVC4

以下是我的问题的简化版本。 我不能压扁模型。 我需要一个“孩子”列表来validation生日。 我似乎无法在Parent类中引用日期,并想知道如何在Fluentvalidation中完成此操作? 模型 [Validator(typeof(ParentValidator))] public class Parent { public string Name { get; set; } public DateTime Birthdate { get; set; } public List Children { get; set; } } public class Child { public string ChildProperty{ get; set; } public DateTime Birthdate { get; set; } } validation器 public class ParentValidator : […]

密码validationREGEX禁止空格

密码不能包含空格 必须包含至少一个数字字符 必须包含1个大写字母 并且长度至少为8个字符,最多15个字符 这就是我所拥有的,除了白色空间规则之外的所有内容。 ((?=.*\d)(?=.*[AZ]).{8,15}) 要为此添加什么? 非常感谢! 语言:c#,asp:RegularExpressionValidator

命名空间前缀“utilities”未定义

我是WPF的新手…我试图将validation绑定到WPF中的文本框。 这是我在xaml中的文本框: 这是我的validation课: public class PingValidationRule : ValidationRule { public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo) { … if (ipCorrect) return new ValidationResult(true, null); else return new ValidationResult(false, “It’s not an IP”); } } 有这个我有以下错误: 错误未定义名称空间前缀“utilities”。 谁知道为什么?

C# – 如何validation日期时间(制作“20120713”或“120713”至“13.07.2012”)

我正在尝试将日期时间从EDI-Order(“20120713”/ YYYYMMDD或“120713”/ YYMMDD或甚至其他日期没有点,所以只是数字)解析为有价值的日期,如C#中的“DD.MM.YYY”。 我不知道有多少不同的日期格式在不同的EDI订单中,所以我正在寻找一个可以应用于所有这些的解决方案。 谢谢大家。

validationasp.net中的电话号码

</asp:RequiredFieldValidator 如何添加电话号码validation,以便它允许+()和空格,如果我用数字validation,那么+()和空格不允许如何做到这一点。 谢谢

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 […]

如何在单击窗体上的X(关闭按钮)时阻止validation被触发

这是一个winform C#问题。 我有一个带有validation事件监听器的文本框来validation文本框的内容。 比如说,文本框不接受负值。 我只收听validation事件,所以默认情况下,文本框的AutoValidate属性是EnablePreventFocusChange,这对我来说完全没问题。 问题是,当我单击表单右上角的X按钮时,我不希望激活validation因为我正在关闭表单。 我怎样才能做到这一点? 无法将CauseValidation设置为false,如果有关闭按钮,我可以这样做。 非常感谢你。