Статьи > Программирование валидации значений полей
Программирование валидации значений полей
В данной статье мы изучим возможности FossLook по валидации значения полей.
Ознакомьтесь со статьей "Программирование в FossLook" для получения базовых знаний, необходимых
для понимания изложенного материала.
В данной статье мы продолжим работу над нашей библиотекой "Моя библиотека". В нашем распоряжении есть документ такого вида:
Предположим, что вам нужно валидировать значения поля Срок исполнения, чтобы указанная дата не могла быть
меньше текущей.
В реализации данной задачи нам поможет событие CanSave, которое предоставляется базовым классом карточки. Откройте файл Form.cs из скрипта карточки документа, и добавьте заготовку кода:
// "Тэг поля Срок исполнения"
DS.TPropertyTag _FromDateTag = Foss.FossDoc.ApplicationServer.Converters.PropertyTag.FromString("0x80790040");
public override bool CanSave
{
get
{
bool result = base.CanSave;
IDocumentCardField documentCardField = Fields[_FromDateTag];
if (documentCardField != null && documentCardField.Value != null)
{
DateTime selectedDate = (DateTime)documentCardField.Value;
if (selectedDate < DateTime.Now)
{
result &= false;
System.Windows.Forms.MessageBox.Show(
"Вы указали дату, которая меньше текущей",
"Сохранить",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Warning);
}
}
return result;
}
}
Если вы введете дату меньше текущей и нажмете на кнопку "Сохранить", документ будет не сохранен, а вы увидете на экране сообщение такого вида: