Определите, допустима ли страница в JavaScript - ASP.NET
что является лучшим способом, чтобы определить, если форма на aspx-странице является допустимым в JavaScript?
Я пытаюсь проверить проверку пользовательского элемента управления, который был открыт с помощью JavaScript window.showModalDialog()
и проверив странице.Свойство IsValid' на стороне сервера не работает. Я использую ASP.NET элементы управления проверкой для проверки страницы.
6 ответов:
Если у меня есть страница, которая использует кучу ASP.NET элементы управления проверкой я буду использовать код, подобный приведенному ниже, для проверки страницы. Сделайте вызов на вход отправить. Надеюсь, этот пример кода поможет вам начать!
<input type="submit" value="Submit" onclick"ValidatePage();" /> <script type="text/javascript"> function ValidatePage() { if (typeof (Page_ClientValidate) == 'function') { Page_ClientValidate(); } if (Page_IsValid) { // do something alert('Page is valid!'); } else { // do something else alert('Page is not valid!'); } } </script>
вы проверяете для
Page.IsValid
где вы должны проверятьPage_IsValid
(это переменная, предоставляемая валидаторами .NET):)
ASP.NET элементы управления проверки предоставляют API на стороне клиента, который можно использовать с javascript:http://msdn.microsoft.com/en-us/library/aa479045.aspx
вы должны быть в состоянии проверить объект Page_IsValid, чтобы увидеть, если любой из элементов управления проверки являются недействительными.
$("input[id$=Button2]").click(function () { var validated = Page_ClientValidate('repo'); if (validated) { // JavaScript code. } });
вы можете использовать jQuery и проверка плагин для выполнения проверки на стороне клиента. Это будет работать как с html тегами, так и asp.net серверные элементы управления. Фил Хаак имеет хороший пример проекта это покажет вам основы.
этой и имеет углубленный обзор этого подхода, а также.
Set
ValidationGroup
свойство для каждогоasp.net
контроль валидатора на Вашей странице, вы должны предоставить то же имяValidationGroup
на странице.например:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Required" ValidationGroup="Validate"></asp:RequiredFieldValidator> <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="RangeValidator" ValidationGroup="Validate"></asp:RangeValidator> <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator" ValidationGroup="Validate"></asp:CustomValidator>
после этого в вашем javascript вызовите как
Page_ClientValidate("ValidationGroup")
например:
function ValidatePage(){ if(Page_ClientValidate("Validate")){ //validate using above validation controls group //validation return true section } else{ //validation return false section } }