Наша бизнес-система требует большого количества редактирования и проверки форм. Самый простой способ — использовать элемент управления проверкой данных, который поставляется с asp.net, но здесь возникают следующие три проблемы:
1. Элемент управления проверкой должен быть включен в проект. Его добавление. в форму и вручную устанавливать такие атрибуты, как тип данных, сообщение об ошибке и т. д., довольно громоздко.
2 Для поля ввода нам, возможно, придется отметить несколько элементов, например: обязательно, должно быть в формате даты и должно быть больше 2007-1-1. Это требует добавления нескольких элементов управления проверкой.
3 Бизнес-правила и формы связаны друг с другом, что не способствует сопровождению и повторному использованию.
Мы надеемся, что функции проверки будут следующими:
1. Правила проверки отделены от формы. Просто нарисуйте поле ввода в форме. Элемент управления проверкой будет создан динамически в соответствии с файлом конфигурации во время выполнения.
2 В соответствии с правилами проверки генерируется подсказка по умолчанию: не может быть пустым, неправильный тип номера, должно быть от 1 до 100.
3. Гибкие выражения правил проверки: например: range(1, 200), >=0,5, Mail(), Mobile(). В настоящее время такие условия, как и или или не
поддерживаются
, но их можно легко расширить.По этой причине мы инкапсулировали эту часть функции. При ее использовании вам нужно только
установить в XML-файле следующее: имя элемента управления, тип данных, требуется ли он, а также информацию о проверочном выражении.
Вот цитата:
<Валидатитеинфо>
<Выражение>диапазон(1, 100)Выражение>
ВалидатеИнфо>
В событии Page_Init страницы вызовите метод класса:
Можно использовать ValidateHelper.LoadFromFile("dataverification_configuration.xml").
Дизайн класса:
//Класс информации о конфигурации
классValidateInfo
{
общедоступная строка ControlName;
общедоступный тип данных ValidationDataType;
общедоступная строка ErrorMessage;
public bool Требовать;
общедоступная строка Выражение;
}
//Фабрика создания контроля проверки
общедоступный класс ValidatorFactory
{
CreateRequiredFieldValidator();
CreateDateTypeCheckValidator();
CreateRangeValidator (строка мин, строка макс);
CreateCompareValidator (оператор ValidationCompareOperator, строковое значениеToCompare);
...
}
// Анализатор правил проверки, создает элементы управления проверкой на основе информации о конфигурации
общедоступный класс ValidatorParser
{
Parse (информация ValidateInfo, фабрика ValidatorFactory);
...
}
// Читаем информацию о конфигурации и привязываем контроль проверки к форме
общедоступный класс ValidateHelper
{
LoadFromFile (страница страницы, строка имя файла)
}