Tag: validation

在.net win表单中是否有任何validation控件可用,如asp.net web表单?

在.net win表单中是否有任何validation控件可用,如asp.net web表单? 因为我的每个控件都难以正确处理条件,所以我的表格中也有很多重复的代码。 这样做的正确方法是什么?

如何在自定义模型绑定器中validation我的模型?

我在这里询问了我用逗号分隔的数值的问题。 鉴于一些回复,我试图尝试实现我自己的模型绑定器,如下所示: namespace MvcApplication1.Core { public class PropertyModelBinder : DefaultModelBinder { public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { object objectModel = new object(); if (bindingContext.ModelType == typeof(PropertyModel)) { HttpRequestBase request = controllerContext.HttpContext.Request; string price = request.Form.Get(“Price”).Replace(“,”, string.Empty); ModelBindingContext newBindingContext = new ModelBindingContext() { ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType( () => new PropertyModel() { Price = Convert.ToInt32(price) […]

entity framework中唯一字段的选项 – dbSet的导航属性?

经过大量研究后,似乎Entity Framework 4.4不支持Unique约束。 是的,它可以并且应该在数据库中完成,但我更喜欢它在模型validation中发生,因此对用户的警告更漂亮。 对于程序员来说,能够使用[Unique]属性来装饰属性是理想的,并且应该可以某种方式,例如: public class UserGroup { public int UserGroupID { get; set; } [Required] [Unique] public string Name { get; set; } [Required] public string Description { get; set; } } 我正在考虑的选项: 1)让存储库在SaveChanges()中执行一些额外的工作,扫描已修改实体的[Unique]属性并命中数据库以检查唯一性。 缺点:此validation仅在我们调用SaveChanges()时发生,理想情况下它可以更早发生(例如,当UI控件validation时)。 2)为UserGroup模型提供一个延迟加载的导航属性给AllUserGroups: public virtual ICollection AllUserGroups { get; set; } 然后编程UniqueAttribute {}来扫描此属性并检查值等。 问题 :如何配置Entity Framework(代码优先)将所有记录加载到此“导航属性”中? 它似乎只想要一个带有外键等的导航属性,而我只想要它们。 3)在UI中手动编写此validation – 可怕且绝对的最后手段。 […]

HttpPostedFile.ContentType是一种validation上传文件的完美方式吗?

我想validation文件类型以确保用户正在上传JPEG,GIF或PNG类型的图像。 我没有检查文件扩展名,而是使用HttpPostedFile.ContentType会更安全,因为它会检查MIME内容类型。 protected void cvValidateImageType_ServerValidate(object source, ServerValidateEventArgs args) { if (fupImage.HasFile) { args.IsValid = (fupImage.PostedFile.ContentType.ToLower() == “image/jpg” || fupImage.PostedFile.ContentType.ToLower() == “image/jpeg” || fupImage.PostedFile.ContentType.ToLower() == “image/pjpeg” || fupImage.PostedFile.ContentType.ToLower() == “image/gif” || fupImage.PostedFile.ContentType.ToLower() == “image/x-png” || fupImage.PostedFile.ContentType.ToLower() == “image/png”); } else args.IsValid = true; } 这是检查文件类型的完美方式,还是可以被欺骗?

.NET中的validation框架,可以在字段之间进行编辑

根据我的经验,.NET中的许多validation框架允许您一次validation一个字段,例如确保字段是邮政编码或电子邮件地址。 我通常将这些内部编辑称为。 在我的项目中,我们经常需要进行场间编辑。 例如,如果您有这样的类: public class Range { public int Min { get; set; } public int Max { get; set; } } 您可能希望确保Max大于Min。 您可能还想对外部对象进行一些validation。 例如,鉴于你有一个这样的类: public class Person { public string PostalCode { get; set; } } 无论出于何种原因,您希望确保邮政编码存在于数据库或提供给您的文件中。 我有更复杂的例子,比如用户提供数据字典,你想要针对该数据字典validation你的对象。 我的问题是:我们可以使用任何现有的validation框架(TNValidate,NHibernate Validator)用于.NET,还是我们需要使用规则引擎或者什么? 现实世界中的人们如何处理这种情况? 🙂

在单个方法中针对XSDvalidationXML

我需要实现一个C#方法,该方法需要针对外部XSDvalidationXML并返回一个布尔结果,指示它是否格式正确。 public static bool IsValidXml(string xmlFilePath, string xsdFilePath); 我知道如何使用回调进行validation 。 我想知道它是否可以在一个方法中完成,而不使用回调。 我需要这个纯粹用于美容目的:我需要validation多达几十种类型的XML文档,所以我想做的就像下面这样简单。 if(!XmlManager.IsValidXml( @”ProjectTypes\ProjectType17.xml”, @”Schemas\Project.xsd”)) { throw new XmlFormatException( string.Format( “Xml ‘{0}’ is invalid.”, xmlFilePath)); }

Asp.net比较validation器以validation日期

众所周知,比较validation器可用于validation日期并根据运营商类型(<, =等)进行检查。 我设置了cultureinvariantvalues=”true”属性来validation两个包含日期的文本框控件。 我必须约束它们,使得开始日期必须早于完成日期。 当我输入如下所示的描述性日期时,validation似乎失败了: StartDate: Tuesday, 21 February 2012 FinishDate: Wednesday, 22 February 2012 即使22nd大于21,validation也会失败。 我使用的标记如下。 如果由于任何原因你需要格式信息,这里是dddd, dd MMMM yyyy

asp.net核心mvc密码validation器

在asp.net核心MVC中自定义密码validation规则的简便方法是什么? 问题就像有人在这里如何在ASP.Net MVC Identity 2中更改密码validation? 唯一的区别是我在Visual Studio 2015中使用asp.net CORE MVC (最新版本)。我想删除所有密码validation规则。 项目中没有ApplicationUserManager类,我也不确定是否可以在Startup.cs文件中自定义UserManagervalidation规则。

asp.net自定义validation器没有为文本框触发

我有一个必需的字段validation器和自定义validation器来validationtexbox。 必需的字段validation器完全触发。 我无法正确启动自定义validation器? 代码背后 protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e) { Response.Write(“firing – test”); Response.End(); if (e.Value.Length == 8) e.IsValid = true; else e.IsValid = false; }

是否有.NET函数来validation类名?

我正在使用CodeDom根据用户值生成动态代码。 其中一个值控制着我正在生成的类的名称。 我知道我可以根据有关使用正则表达式的有效类名的语言规则对名称进行消毒,但我想知道框架中是否有一个特定的方法来validation和/或消毒类名。