Tag: 远程validation

对模型中的2个不同属性进行相同的远程validation

我在模型中有2个属性contractor1和contractor2,如何对它们使用单​​个远程validation [Display(Name =”Contractor 1:”)] [Remote(“ValidateContractor”, “Contracts”)] public string Cntrctr1 {get; set;} [Display(Name = “Contractor 2:”)] [Remote(“ValidateContractor”, “Contracts”)]`enter code here` public string Cntrctr2 {get; set;} Controller中的远程validationfunction public JsonResult ValidateContractor1(string Cntrctr) { var valid = Validations.ValidateContractor(Cntrctr); if (!valid) {return Json(“Enter correct contractor”, JsonRequestBehavior.AllowGet);} else{return Json(true, JsonRequestBehavior.AllowGet);} } public static bool ValidateContractor(string CntrctrNM) { bool valid; using (var […]

C#MVC CMS – 自定义远程validation

在下面的链接中,我问了一个关于如何确保字段不包含相同值的问题(例如,当字段上存在唯一约束时,正确地导致C#在发出exception时抛出exception)。 根据我收到的答案,它解决了这个问题但提出了另一个问题。 确保另一条记录尚未包含字段的相同值 我现在面临的主要问题是当我创建一个新视图时。 validation按预期工作。 简而言之 – 系统需要检查ViewName和ViewPath(路由)是否都是唯一的,因此需要搜索数据库。 但是,当我编辑视图时,validation再次启动(实际上不应该这样做,因为很明显视图已存在,因为您正在编辑它)。 我现在的问题是如何自定义远程validation以使编辑与创建不同。 虽然我们不能编辑视图的名称以匹配现有视图,但我们也不应仅仅因为它与当前视图相同而停止保存当前视图。 下面是我的模型(不是(希望)由工具生成的部分:-): [MetadataType(typeof(IViewMetaData))] public partial class View : IViewMetaData { } public interface IViewMetaData { [Required(AllowEmptyStrings = false, ErrorMessageResourceType = typeof(DALResources), ErrorMessageResourceName = “ErrorRequiredField”)] [StringLength(50, ErrorMessageResourceType = typeof(DALResources), ErrorMessageResourceName = “ErrorLessThanCharacters”)] [Display(ResourceType = typeof(DALResources), Name = “ViewName”)] [Remote(“IsViewNameAvailable”, “Validation”)] string ViewName { get; set; } […]

使用远程validation进行多个字段validation

我有以下型号: public class Customer { public string FirstName {get;set;} public string LastName {get; set;} [Remote(“CardExisting”, “Validation”, AdditionalFields=”FirstName,LastName”) public string CardNumber {get; set;} } CardExisting操作将检查firstName和LastName的cardNumber组合是否存在现有记录。 如果用户首先输入卡号然后输入他的名字,我无法validation他怎么办?所以当他返回并输入他的名字时我需要再次进行远程validation,如果焦点已经从cardnumber属性丢失了怎么办呢?

模型列表的远程validation

我使用了以下教程: http : //msdn.microsoft.com/en-us/library/gg508808%28VS.98%29.aspx 一切似乎都很好,但在我的情况下,字符串Username总是返回null。 经过大量的研究,我发现每个人都发现了BIND前缀。 在许多情况下这会很棒,但不是这个。 我应该注意所有的属性和名称排列,但是在我的for循环中,EditorFor创建了一个[i] .Username字段,这不会映射到任何模型属性。 问题:我想我想将[i] .Username映射到用户名,其中i是0-infinity中的任何数字,所以当它GETS时,该值会正确地传递给Action。 我该怎么做呢? 如果这是错误的,我该怎么做才能对表中的特定行进行validation? @for (var i = 0; i < Model.Count; i++) { BLAH BLAH BLAH CODE FOR BUILDING TABLE ROWS @Html.EditorFor(modelItem => Model[i].Username) } 因为如果不是成千上万的记录,我在技术上可以拥有数百个,我宁愿没有一个全部1000的绑定PREFIX。我从根本上错过了一些东西吗? 我是ASP.NET MVC的新手,习惯了WebForms,所以我觉得有时候我会混合概念并混合一些完全错误的东西。 编辑:我通过执行以下操作修复它,但不确定这是否是最好的主意。 我将参数设置为没有[i]前缀的FieldName,但仍然检索带有[i]前缀的元素。 Javascript不是我的Forte所以如果它太可怕请告诉我。 adapters.add(“remote”, [“url”, “type”, “additionalfields”], function (options) { var value = { url: options.params.url, type: […]