Несколько раз настраиваемого атрибута проверки в одном поле

Как я могу использовать один и тот же настраиваемый атрибут проверки несколько раз в одном поле или просто включить AllowMultiple = true как для проверки на стороне сервера, так и на стороне клиента ??

У меня есть следующий настраиваемый атрибут проверки Атрибут проверки:

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, 
        AllowMultiple = true, Inherited = true)]
public class RequiredIfAttribute : ValidationAttribute,IClientValidatable
{
    public RequiredIfAttribute(string dependentProperties, 
     string dependentValues = "",
     string requiredValue = "val")
     {
     }
}

Там, где в зависимых свойствах я могу указать несколько зависимых свойств, разделенных запятыми, в зависимых значениях я могу указать, для каких значений зависимых свойств должна выполняться проверка, и, наконец, в requiredValue я могу указать ожидаемое значение для проверяемого поля.

В моей модели есть два свойства LandMark, PinCode, и я хочу использовать проверку следующим образом:

public string LandMark { get; set; }
[RequiredIf("LandMark","XYZ","500500")]
[RequiredIf("LandMark", "ABC", "500505")]
public string PinCode { get; set; }

Значения здесь только для примера, кажется, я могу добавить атрибут несколько раз и не получить компиляцию Ошибка, я реализовал TypeID в атрибуте, и он хорошо работает со стороны сервера, если я удалю из него проверку клиента. Но когда я использую IClientValidatable для атрибута, появляется ошибка:

«Имена типов проверки в ненавязчивых правилах проверки клиентов должны быть уникальными».

Любая помощь, как я могу решить эту проблему ??

5
задан Antoine Meltzheim 14 April 2016 в 08:45
поделиться