我试图对收藏中的某个项目属性进行远程验证。 验证对收藏的第一个项目有效。 http 请求验证方法看起来像 :
/Validation/IsImeiAvailable?ImeiGadgets[0].ImeiNumber=123456789012345
然而,在第二个项目上,url看上去像下面的第二个项目,验证无效
/Validation/IsImeiAvailable?ImeiGadgets[1].ImeiNumber=123456789012345
现在我很确定原因, 是因为这个捆绑的圆圆可以 在一个不以零指数开始的收藏中工作。
我的验证方法签字如下:
public JsonResult IsImeiAvailable([Bind(Prefix = "ImeiGadgets")] Models.ViewModels.ImeiGadget[] imeiGadget)
因为我在收藏中传递一个物品......我不得不像这个一样捆绑......然而我真正传递的东西......只是一个单一的价值。
除了把它绑成一个普通的查询字符串之外 我还能处理这个吗?
谢谢 谢谢
编辑: 这是获得 Imei 变量的快速修正, 但我宁愿使用模型绑定 :
string imeiNumber = Request.Url.AbsoluteUri.Substring(Request.Url.AbsoluteUri.IndexOf("=")+1);
编辑:这是我的ImeiGadget类:
public class ImeiGadget
{
public int Id { get; set; }
[Remote("IsImeiAvailable", "Validation")]
[Required(ErrorMessage = "Please provide the IMEI Number for your Phone")]
[RegularExpression(@"(D*d){15,17}", ErrorMessage = "An IMEI number must contain between 15 & 17 digits")]
public string ImeiNumber { get; set; }
public string Make { get; set; }
public string Model { get; set; }
}