estoy usandoCómo usar asp.net mvc 3 jquery validar con un diálogo de jquery que hace un ajax submit?
asp.net mvc 3 jQuery validar Javascript no obstructivo.
Estoy tratando de escribir toda mi validación en el servidor a través de anotaciones y luego tener la nueva característica de mvc 3 que se ocupe del lado del cliente.
Tengo un cuadro de diálogo que tiene un botón (solo un botón, no un botón de enviar) que quiero enviar datos al servidor a través de ajax.
Así que cuando el usuario hace clic en el botón, realizo un formulario de envío y devuelvo el mensaje de error para cancelar la publicación.
Pensé que activaría la validación, pero ese no parece ser el caso. ¿Cómo puedo activar el activador de validación del lado del cliente?
Editar
<form method="post" id="TaskFrm" action="/Controller/Action">
<input type="text" value="" name="Name" id="Name" data-val-required="Name field cannot be left blank" data-val-length-max="100" data-val-length="task cannot exceed 100 characters" data-val="true">
</form>
var $dialog = $('<div></div>').dialog(
{
width: 580,
height: 410,
resizable: false,
modal: true,
autoOpen: false,
title: 'Basic Dialog',
buttons:
{
Cancel: function()
{
$(this).dialog('close');
},
'Create Task': function()
{
var createSubmitFrmHandler = $(my.selectors.createFrm).live('submit', function()
{
alert('hi');
return false;
});
createSubmitFrmHandler .validate();
var a = createSubmitFrmHandler .valid();
alert(a);
}
}
});
Esto siempre devolverá true.
Editar 2
si pongo un botón de envío dentro de la forma que se mostrará la validación del lado del cliente (utilizo jQuery para volver falsa como se muestra en el código).
Esto significa que tengo los scripts y todo pero no funciona por razones desconocidas cuando trato de hacerlo programático.
Datos 3
Metí la jQuery validar & & archivos jquery.validate.unobtrusive en la página maestra. Pero cuando los incluyo en la vista parcial que contiene los campos que se cargan y luego fuerzo un envío, la validación se inicia.
No entiendo. Estoy bastante seguro de que el rumbo es correcto ya que simplemente arrastré y solté el archivo en mi página maestra y descubrí el camino. Tenerlo en las vistas parciales no es realmente una solución ya que tendré que hacer esto varias veces y eso significa que cada vez que se cargue la vista parcial, obtuve otra copia de estos archivos.
Editar 4
creo que es sólo el jquery.validate.unobtrusive que necesita ser cargado por alguna razón cada vez. No estoy seguro de por qué.
http://mrgsp.md:8080/awesome/person Haz clic en crear después de hacer clic en enviar – Omu