Page_ClientValidate
запускает проверку для всех валидаторов в форме, и, как показывает @ gilly3, вы также можете проверить их все, зациклив коллекцию и вызвав ValidatorValidate(validator)
Однако, если вы хотите проверить только один конкретныйзатем валидатор, вам нужно вызвать ValidatorValidate(validator)
только для одного элемента.
Аргумент валидатора должен быть объектом DOM, который может быть сложно получить, потому что идентификатор элемента может в конечном итоге сильно отличаться от указанного в отметкевверх, если вы используете главные страницы или пользовательские элементы управления.
например
<asp:RequiredFieldValidator ID="rfvCampaignStartDate" runat="server" .../>
становится
<span id="cph_0_rfvCampaignFile" ...>
Я обошел это в одном из моих проектов с помощью jQueryподобный селектору
ValidatorValidate($('[id$="rfvCampaignFile"]').get(0));
ASP.NET только добавляет префиксы к идентификаторам, чтобы создать уникальное имя. Я мог бы использовать id$=
часть селектора, чтобы соответствовать любым идентификаторам, оканчивающимся на "rfvCampaignFile"
, так как я написал сайт, который я знаюэто не будет конфликтовать с другими элементами управления.Наконец, я использую .get(0)
, чтобы вернуть ссылку на объект DOM на первый (и только в моем случае) соответствующий объект DOM.