que tienen una anotación requerida en mi modelo:MVC3 no trabajar
[Required(ErrorMessage = "Please choose an option")]
public bool? AnyDebts { get; set; }
que han permitido la validación del cliente en el web.config:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
he referenciado los scripts jQuery en mi diseño:
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.6.custom.min.js")" type="text/javascript"></script>
¿Qué más debo hacer para que la validación del cliente funcione? La validación del lado del servidor sigue funcionando.
EDIT:
Ah, ja!
He encontrado que la validación del lado del cliente está funcionando.
Sin embargo, específicamente, he encontrado que las propiedades del modelo no se validan del lado del cliente son aquellas anotadas con atributos personalizados. Por ejemplo:
[BooleanRequiredToBeTrue(ErrorMessage = "You must agree to the statements listed")]
public bool StatementAgree { get; set; }
El código para el atributo:
public class BooleanRequiredToBeTrueAttribute: RequiredAttribute
{
public override bool IsValid(object value)
{
return value != null && (bool)value;
}
}
¿no son validados lado del cliente más?
¿por qué llama a jquery dos veces? – craigmoliver