2009-09-26 6 views
7

He leído here que cualquier validador de ASP.NET tiene una propiedad llamada: "isvalid". Esta propiedad se puede usar en el lado del cliente para verificar si el validador pasó la validación o no.Acceso a la propiedad inválida de los validadores de ASP.NET en Javascript

que trataron de acceder a esta propiedad como siguiente, pero por alguna razón el código fallan:

alerta (. Document.getElementById ("validator_clientID") isvalid);

¿Tiene alguna idea de por qué esto no funciona?

+0

Por favor, publique la declaración del validador, junto con su JavaScript completo. Además, aclara a qué te refieres con "sin suerte". ¿Qué error recibes? Mostrar el estado actual del atributo isvalid usando el método que me proporcionó funcionó. Sospecho que la ID que estás usando (validator_clientID) es incorrecta. – Phaedrus

+0

He intentado acceder de esa manera y funciona: bool flag = validatorname.isvalid; Por alguna razón, se puede acceder a isvalid a través del objeto directo. Pero no sé por qué obtener el elemento usando getElementById no recuperó el objeto. Lo he intentado con el ID del validador, no con el ID del cliente, y todavía no es accesible. Obtuve un valor indefinido. – mohammedn

Respuesta

2

He encontrado misma!

probar esto document.getElementById('XXX').Validators[0].isvalid Está funcionando para mí

3

No creo que el isvalid funcione directamente en un control de validador ya que es una función de validación del lado del servidor. Puede activar una comprobación del validador para la página actual o el grupo de validación utilizando la función javascript del lado del cliente Page_ClientValidate. Opcionalmente, puede especificar un nombre de grupo de validación como parámetro. Esto devolverá verdadero si pasa toda la validación.

También puede buscar en las funciones del lado del cliente más disponibles y la forma en que se asignan a las funciones del servidor de MSDN en:

http://msdn.microsoft.com/en-us/library/yb52a4x0.aspx

+0

@mnour acaba de hacer un seguimiento, ¿alguna vez entendiste esto? – Kelsey

+0

Esto funcionó para mí. Parece que ... 'var isValid = Page_ClientValidate();' – Homer

0

recuerde llamar

IsValid 

lugar

isvalid 

(puede variar)

0

En el lado del cliente Javascript:

var controlIsValid = this.document.getElementById ("validatorID"). Attributes.isvalid.value;

Cuestiones relacionadas