Tag: validation

如何在Entry.state == EntityState.Added的位置设置自定义validation

如何设置自定义validation,当Entry.state == EntityState.Added为true时,以下代码将起作用! 自定义validation码: [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] class UniqueEmailAddress : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { this.email = (string)value; using (G9EntityDataBaseClass oEntity = new G9EntityDataBaseClass()) { if (oEntity.User.Where(u => u.email == email).Count() == 0) { return ValidationResult.Success; } else { return new ValidationResult(ErrorMessageString); } } } } 使用 : [CustomValidation.UniqueEmailAddress] […]

C#电子邮件地址validation

我想澄清一件事。 根据客户端请求,我们必须创建一个正则表达式,以便它允许在电子邮件地址中使用撇号。 我的问题根据RFC标准,电子邮件地址是否包含aportrophe? 如果是这样,如何重新创建正则表达式以允许撇号 ?

validationWindows窗体应用程序中的文本框

我的情景是: 输入一个或多个字符后,不允许在文本框的起始位置使用空格文本框允许使用空格 以下不适用于我的场景。 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.Handled = (e.KeyChar == (char)Keys.Space)) { MessageBox.Show(“Spaces are not allowed”); } } textBox1.Text.TrimStart()

使用Validator时忽略.NET 4 RTM MetadataType属性

我正在使用VS 2010 RTM并尝试使用MetadataTypeAttribute对简单类型执行一些基本validation。 当我将validation属性放在主类上时,一切正常。 但是,当我把它放在元数据类上时,它似乎被忽略了。 我一定是错过了一些微不足道的东西,但我现在已经坚持了一段时间。 我查看了Enterprise Libraryvalidation块作为一种解决方法,但它不支持开箱即用的单个属性validation。 有任何想法吗? class Program { static void Main(string[] args) { Stuff t = new Stuff(); try { Validator.ValidateProperty(tX, new ValidationContext(t, null, null) { MemberName = “X” }); Console.WriteLine(“Failed!”); } catch (ValidationException) { Console.WriteLine(“Succeeded!”); } } } [MetadataType(typeof(StuffMetadata))] public class Stuff { //[Required] //works here public string X { […]

validationVAB配置文件中的程序集和名称空间

我们正在使用validation应用程序块的4.1版。 我相对较新,所以我想知道它是否有能力抽象出配置的命名空间和程序集,或者提供其存在的正确validation? 我们最近遇到了一个问题,即有人移动了一个类,并且没有使用新的命名空间更新validation配置文件。 结果,validation不再应用于对象。 应用程序块似乎只是忽略了差异。 不幸的是,在正常的QA周期中没有发现这种情况。 是否有任何内置的方法可以保护自己免受未来这种变化的影响? 我在过渡期间所做的是加载config xml,提取出所有程序集和定义的名称空间并validation它们是否都存在。

通缉:DateTime.TryNew(年,月,日)或DateTime.IsValidDate(年,月,日)

标题基本上都说明了一切。 我从遗留数据库(我无法更改)获得三个用户提供的整数( year , month , day ) 1 。 目前,我使用以下代码将这些整数解析为DateTime结构: try { return new DateTime(year, month, day); } catch (ArgumentException ex) { return DateTime.MinValue; } 有时,这些值不代表有效日期(是的,用户输入类似1999-06-31的内容,不,遗留应用程序没有validation这一点)。 由于在数据validation失败时抛出exception被认为是不好的做法 ,我宁愿用无exception代码替换它。 但是,我能找到的唯一解决方案是将整数转换为一个字符串和TryParseExact这个字符串,这对我来说似乎更加丑陋。 我错过了一些明显更好的解决方案吗 1实际上,它是YYYYMMDD格式的一个整数,但将其转换为年,月和日是微不足道的……

内存缓存.Net 4.0性能测试:惊人的结果

此性能测试是错误的还是系统缓存正在以卓越的性能运行? 这是我的结果: [13]交互次数100000:63毫秒 [14]交互次数100000:139毫秒 [12]交互次数100000:47毫秒 [15]交互次数100000:44毫秒 测试结束。 硬件:x86 Family 6 Model 23 Stepping GenuineIntel~2992 Mhz 3.327 MB,5.1.2600 Service Pack 3 using System; using System.Collections.Generic; using System.Runtime.Caching; using System.Diagnostics; using System.Threading; namespace CacheNet40 { public class CacheTest { private ObjectCache cache; public CacheTest() { cache = MemoryCache.Default; } public void AddItem(CacheItem item, double span) { CacheItemPolicy […]

在MVVM中绑定Validation.HasError属性

我目前正在实现ValidationRule以检查TextBox中是否存在某些无效字符。 我很高兴设置我已实现的类inheritance我的TextBox上的ValidationRule ,当找到这些字符时将其设置为红色,但我还想使用Validation.HasError属性或Validation.Errors属性来弹出消息框告诉用户在页面中的各种文本框中有错误。 有没有办法将我的ViewModel的属性绑定到Validation.HasError和/或Validation.Errors属性,以便我可以在我的ViewModel中访问它们? 这是TextBox的错误样式: 以下是我在我的XAML中声明我的TextBox(OneTextBox封装常规WPF TextBox)的方法:

如何使用数据注释属性类来失败表单中的空字符串?

我试图在表单中要求一个文本输入字段,这意味着表单中需要有一些东西。 但是,向我的模型添加[Required]标记不起作用。 具体来说,查看User Name属性: public class ColumnWidthMetaData { [DisplayName(“Column Name”)] [Required] public string ColName { get; set; } [DisplayName(“Primary Key”)] public int pKey { get; set; } [DisplayName(“User Name”)] [Required] public string UserName { get; set; } [DisplayName(“Column Width”)] [Required] public int Width { get; set; } } 这允许空字符串通过模型validation,并在尝试为用户名插入NULL值时最终引发数据库错误。 如何更改这些属性,以便他们执行他们应该做的事情?

如何在ClientValidationFunction上获取’controlToValidate’属性?

让我们说我有这个代码。 还有一个validationFunction: function ValidationFunction1(sender, args) { } 我想知道,在函数内部,我可以让Control来validation类似的东西: var v = sender.ControlToValidate;