Мне нужно проверить значение поля в соответствии с двумя различными правилами проверки:
- Мой собственный объект, который содержит регулярное выражение и диапазон (для строки это диапазон длины).
- Список возможных значений.
Так что я могу сделать это:
public static bool Validate(string fieldValue, string fieldType, ValidationParameters validationParameters)
{
...
}
public static bool Validate(string fieldValue, string fieldType, string[] possibleValues)
{
...
}
Но для этого нужно, чтобы пользователь безобразно if
.
Я также могу сделать это:
public static bool Validate(string fieldValue, string fieldType, ValidationParameters validationParameters=null,string[] possibleValues=null)
{
...
}
Теперь пользователь может просто отправить свои данные без избыточности if
, но я не могу убедиться, что validationParameters
или possibleValues
(один из них) получил значение.
Есть ли третий вариант, при котором пользователю не нужно проверять, какой метод он использует, но мне не нужно беспокоиться, что он не отправляет ни одно из двух полей (в коде, а не в документации )
Если нет, какой из этих двух способов лучше (менее подвержен ошибкам и более элегантен)?
Спасибо.