La validación del lado del servidor funciona bien, pero el lado del cliente no funcionará en algunos campos.MVC3 Validación del lado del cliente errática/inconsistente
Usando:
"jquery-1.5.1.min.js"
"modernizr-1.7.min.js"
"jquery.validate.min.js"
"jquery.validate.unobtrusive.min.js".
HTML5 marcado semántico
MVC3, la maquinilla de afeitar, Código primeras anotaciones
datos de la clase:
using System.ComponentModel.DataAnnotations;
[Required, MaxLength(30, ErrorMessage = "First Name must be {1} characters or less")]
public string FirstName { get; set; }
[Range(20, 50, ErrorMessage = "{0} must be between {1} and {2}")]
public double Waist { get; set; }
Vista:
El la vista está fuertemente tipada.
@using (Html.BeginForm()) { @Html.ValidationSummary(true)
<span class="editor-label"> First Name </span>
<span class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</span><br /><br />
<span class="editor-label">@Html.LabelFor(model => model.Waist): 20 to 50</span>
<span class="editor-field">
@Html.EditorFor(model => model.Waist)
@Html.ValidationMessageFor(model => model.Waist)
</span><br /><br />
La validación del lado del cliente funciona para Waist pero no FirstName. El lado del servidor funciona para ambos.
Cuando miro el código fuente, la cintura tiene un rango de valores de datos.
datos-val-range = "Cintura debe estar entre 20 y 50"
No hay datos-val-rango para FirstName.
Cualquier ayuda muy apreciada.
Gracias,
Joe
estoy usando IE9 de 64 bits.
Ante una mayor investigación, la longitud de cadena requerida y parcialmente funciona. Cambié los atributos de Dataannotation a esto.
[Required(ErrorMessage = "First Name is required")] [StringLength(30, MinimumLength = 2, ErrorMessage = "First Name must be {2} to {1} characters")] public string FirstName { get; set; }
Ahora, cuando voy a editar mi ver y borrar el cuadro de texto nombre y primer pestaña a la siguiente me sale error de validación. Si luego ingreso un carácter, recibo el mensaje StringLength, cuando posteriormente borro el campo, obtengo el mensaje Requerido. Cada vez más cerca, pero todavía no está funcionando correctamente.
datos-val-length = se agrega a la fuente cuando uso StringLength
Esta es una prueba para los correos electrónicos de notificación no leídos. –