Определите, допустима ли страница в JavaScript - ASP.NET


что является лучшим способом, чтобы определить, если форма на aspx-странице является допустимым в JavaScript?

Я пытаюсь проверить проверку пользовательского элемента управления, который был открыт с помощью JavaScript window.showModalDialog() и проверив странице.Свойство IsValid' на стороне сервера не работает. Я использую ASP.NET элементы управления проверкой для проверки страницы.

6 74

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
}
}