是否可以将客户端验证添加到MVC C#的类级验证器?

时间:2017-10-24 14:06:33

标签: c# jquery asp.net-mvc validation unobtrusive-validation

我有一个嵌套模型,其中包含一个验证子元素的自定义验证器。这种方法对于服务器端很有用,但是,我还想添加客户端支持。

这是我的模特:

h

这是我的验证员:

public class Customer
    {
        public string Name { get; set; } = "";

        [AtLeastOneProperty("HomePhone", "WorkPhone", "CellPhone", ErrorMessage = "At least one phone number is required for Customer")]
        public Phone phone { get; set; }

        public Customer()
        {
            phone = new Phone();
        }
    }
     public class Phone
     {
        public string HomePhone { get; set; } = "";

        public string WorkPhone { get; set; } = "";

        public string WorkExt { get; set; } = "";

        public string CellPhone { get; set; } = "";
     }

此代码适用于服务器端验证,但是,我无法为我正在检查的属性构建客户端验证不显眼标记。现在它正在尝试为类级别Phone建立标记,因为属性标记位于嵌套模型属性之上,而不是单个属性。

甚至可以添加客户端标签吗?也许制作一个验证适配器?

1 个答案:

答案 0 :(得分:0)

我之前使用过Expressive Annotations。它们允许我们使用布尔条件指定属性,这些条件可以在客户端和服务器端触发。