Определить, является ли страница действительной в JavaScript - ASP.NET
Каков наилучший способ определить, действительна ли форма на странице ASPX в JavaScript?
Я пытаюсь проверить проверку пользовательского элемента управления, который был открыт с использованием JavaScript window.showModalDialog()
, и проверка свойства "Page.IsValid" на стороне сервера не работает. Я использую элементы проверки ASP.NET для проверки страницы.
Ответы
Ответ 1
Если у меня есть страница, использующая кучу элементов управления проверки ASP.NET, для проверки страницы я буду использовать код, аналогичный приведенному ниже. Сделайте вызов на входе submit. Надеюсь, этот пример кода поможет вам начать работу.
<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>
Ответ 2
Вы проверяете Page.IsValid
, где вы должны проверять Page_IsValid
(это переменная, отображаемая с помощью проверочных файлов .NET):)
Ответ 3
Элементы проверки достоверности ASP.NET выставляют API-интерфейс клиента, который вы можете использовать с javascript: http://msdn.microsoft.com/en-us/library/aa479045.aspx
Вы должны проверить объект Page_IsValid, чтобы проверить, недействительны ли какие-либо элементы проверки.
Ответ 4
$("input[id$=Button2]").click(function () {
var validated = Page_ClientValidate('repo');
if (validated) {
// JavaScript code.
}
});
Ответ 5
Вы можете использовать jQuery и Validation для выполнения проверки на стороне клиента. Это будет работать как с тегами html, так и с элементами управления asp.net. У Фила Хаака есть хороший примерный проект, который покажет вам основы.
В этом вопросе SO) есть углубленный обзор этого подхода.
Ответ 6
Задайте свойство 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
}
}