c# - 注释复杂类型时远程验证失败

标签 c# asp.net-mvc asp.net-mvc-3 validation

我的问题类似于:

Compound View Model object causing remote validation failure

我的模型:

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
    [Remote("CheckZip", "Validation")]
    public string PostalCode { get; set; }
    public string Country { get; set; }
}

public class OrderViewModel
{
    public Address ShippingAddress { get; set; }
    public Address BillingAddress { get; set; }
    public string OrderItem { get; set; }
    public string OrderQuantity { get; set; }
}

呈现的 HTML 创建字段 ShippingAddress_Postalcode 和 BillingAddess_PostalCode。

CheckZip 操作:

public ActionResult CheckZip (string PostalCode)
{
    ...
}

这当然不起作用,因为发送的不是 PostalCode,而是它的 ShippingAddress_Postalcode 或 BillingAddess_PostalCode。如何使用相同的 CheckZip 操作来处理存在于多个属性中的相同子属性?

最佳答案

CheckZip 应采用地址而不是字符串,然后检查该地址的邮政编码属性。

public ActionResult CheckZip (Address addressToCheck){    ...}

关于c# - 注释复杂类型时远程验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748404/

相关文章:

asp.net-mvc - 中等信任度下 MVC Controller + 依赖注入(inject) (Ninject) 的问题

.net - 可以将 ASP.NET MVC3 Controller (和 View ?)重新分发为类库 dll 吗?

asp.net-mvc - mvc asp.net 中的自定义成员(member)资格提供程序或配置文件提供程序

asp.net - 在哪里存储相册的图像?

asp.net-mvc-3 - 自定义正则表达式属性缺少用于客户端验证的 data-val-regex-pattern

c# - 如何在不使用基本查询的情况下在一项操作中解析多个 linq 查询?

c# - 为什么你仍然可以使用已处置的对象?

c# - Entity Framework 似乎在缓存数据

c# - Wmi EventWatcher 缺少事件 - 修复?

c# - 一页多表单 (MVC3)