Determine si la página es válida en JavaScript-ASP.NET
validation (6)
Está comprobando para Page.IsValid
donde debe comprobar Page_IsValid
(es una variable expuesta por los validadores de .NET) :)
¿Cuál es la mejor manera de determinar si un formulario en una página ASPX es válido en JavaScript?
Estoy intentando verificar la validación de un control de usuario que se abrió utilizando la window.showModalDialog()
JavaScript. window.showModalDialog()
y verificar la propiedad ''Page.IsValid'' en el servidor no funciona. Estoy usando controles de validación de ASP.NET para la validación de la página.
Establezca la propiedad ValidationGroup
para cada control del validador asp.net
en su página, debe proporcionar el mismo nombre a ValidationGroup
en una página.
Por ejemplo:
<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>
Después de eso, en su llamada javascript como Page_ClientValidate("ValidationGroup")
Por ejemplo:
function ValidatePage(){
if(Page_ClientValidate("Validate")){ //validate using above validation controls group
//validation return true section
}
else{
//validation return false section
}
}
Los controles de validación de ASP.NET exponen una API del lado del cliente que puede usar con javascript: http://msdn.microsoft.com/en-us/library/aa479045.aspx
Debería poder verificar el objeto Page_IsValid para ver si alguno de los controles de validación no es válido.
Puede usar jQuery y el complemento Validation para realizar la validación del lado del cliente. Esto funcionará con las etiquetas html y los controles del servidor asp.net. Phil Haack tiene un buen proyecto de muestra que te mostrará los conceptos básicos.
Esta pregunta SO también tiene una revisión en profundidad de este enfoque.
Si tengo una página que está utilizando un conjunto de controles de validación de ASP.NET, usaré un código similar al siguiente para validar la página. Realice la llamada en un envío de entrada. ¡Con suerte, esta muestra de código lo ayudará a comenzar!
<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>
$("input[id$=Button2]").click(function () {
var validated = Page_ClientValidate(''repo'');
if (validated) {
// JavaScript code.
}
});