Предложения по проверке ввода DataType в ASP.NET? - PullRequest
2 голосов
/ 03 ноября 2010

Я работаю над приложением, которое имеет большое количество входов для определенных типов (50 входов денег, 30 входов даты и т. Д.).

Я создал CompareValidator для каждого, чтобы убедиться, что пользователи вводят правильную информацию, но мне интересно, есть ли более простой способ создать проверку один раз и применить ее ко всем желаемым входам?

Написание 80 валидаторов, которые в основном делают одно и то же, кажется пустой тратой. Я пропускаю что-то, что уже делает это в .NET, или есть что-нибудь, что может упростить проверку?

Примечание. Все проверки должны выполняться как на стороне клиента, так и на стороне сервера. Я немного читал о проверке ASP.NET MVC, но, к сожалению, здесь такой возможности не будет.

1 Ответ

1 голос
/ 03 ноября 2010

Возможно, вы захотите взглянуть на элемент управления CustomValidator.Согласно документу MSDN

Можно использовать элемент управления CustomValidator без установки свойства ControlToValidate.Обычно это делается, когда вы проверяете несколько элементов управления вводом или элементы управления вводом, которые нельзя использовать с элементами управления проверки, такими как элемент управления CheckBox.В этом случае свойство Value параметра arguments, передаваемое в обработчик события для события ServerValidate и в функцию проверки на стороне клиента, всегда содержит пустую строку ("").Однако эти функции проверки все еще вызываются, где это уместно, для определения достоверности как на сервере, так и на клиенте.Чтобы получить доступ к значению для проверки, вы должны программно обратиться к элементу управления вводом, который вы хотите проверить, и затем извлечь значение из соответствующего свойства.Например, чтобы проверить элемент управления CheckBox на сервере, не устанавливайте свойство ControlToValidate элемента управления проверки и используйте следующий код для обработчика события ServerValidate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...