Пример: у нас есть условное поле.Это условное поле является переключателем со следующими двумя значениями «да» и «нет».Допустим, название этой радиокнопки - «ААА».
Это условное поле «AAA» должно отображаться только в том случае, если для другого поля переключателя «BBB» установлено значение «yes».(Значения переключателя «BBB» также «да» и «нет»).
Но условное поле «AAA» должно отображаться с предустановленным значением NO, значит «да» или «нет» следуетбыть установленным при первом отображении поля.
Проблема возникает из-за требования, что условное поле «AAA» ТОЛЬКО требуется, когда (безусловное) поле «BBB» установлено в «yes»- и не требуется, если для поля «BBB» установлено значение «нет».
(Звучит, что я ничего не слышал об операторе if, или? Но подождите и продолжайте читать ...)
Поверьте, для меня не будет проблемой решить эту тему, когда мы будем использовать «Состояние модели» - но мы говорим здесь о проверке (аннотации данных), которая выглядит следующим образом:
public class Input1FormModel
{
[Required(ErrorMessageResourceName="Error_Field_AAA_Empty",
ErrorMessageResourceType=typeof(Resources.MyDialog))]
public int AAA { get; set; }
}
Я также полностью понимаю эти строки кода - я верю; -)
...
//property limits
public int UpperBound { get { return DateTime.Now.Year; } }
public int LowerBound { get { return 1900; } }
...
[NotNullValidator]
[PropertyComparisonValidator("LowerBound", ComparisonOperator.GreaterThan)]
[PropertyComparisonValidator("UpperBound", ComparisonOperator.LessThanEqual)]
public int? XYZ { get; set; }
Но как решить описанную выше зависимость (AAA <-> BBB)?
Изменение «return DateTime.Now.Year;» на вызов функции, который сначала проверяет другое поле и затем возвращает true или false?Но как получить там значение другого поля?