7 Programación Web con .NET y C#

16
DATA ANNOTATIONS Entity Framework Guido Ticona Hurtado [email protected]

Transcript of 7 Programación Web con .NET y C#

Page 1: 7 Programación Web con .NET y C#

DATA ANNOTATIONS

Entity Framework

Guido Ticona [email protected]

Page 2: 7 Programación Web con .NET y C#

Validaciones Required DisplayName MaxLength StringLength Range ScaffoldColumn HiddenInput

Page 3: 7 Programación Web con .NET y C#

Validacion (cont.) Compare DataType DisplayFormat RegularExpression UIHint

Page 4: 7 Programación Web con .NET y C#

Formato Cadenas{indice,alineacion:formato}

Page 5: 7 Programación Web con .NET y C#

Formatos Numericos C Currency D Decimal E Exponencial F punto flotante N numero P porciento X hexadecimal

Page 6: 7 Programación Web con .NET y C#

Formatos Personalizados 0 si existe numero si no cero # si existe numero sino nada . Punto decimal , separador de miles % porcentaje ; mayor a cero,menor a cero, igual

Page 7: 7 Programación Web con .NET y C#

Formatos Fecha d fecha f fecha y hora g Fecha regional m Mes/dia t Hora y Año/mes

Page 8: 7 Programación Web con .NET y C#

Formato fecha personalizado d,dd,ddd,dddd M,MM,MMM,MMMM H,h,hh,HH s,ss y,yy,yyyy t am/pm

Page 9: 7 Programación Web con .NET y C#

Expresiones Regulares Rango

[a-z][0-9][aeiou]

Inicio ^ Fin $

Page 10: 7 Programación Web con .NET y C#

Expresiones Regulares Repeticion

{x}{x,}{x,y}? * +

Agrupamiento()|

Page 11: 7 Programación Web con .NET y C#

Ejemplos Numero

^[0-9]+$ Numero real

^[0-9]+?(.|,[0-9]+)$ Correo Electrónico

^([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\- ]+@([a-zA-Z0-9\- ]+\.)+([a-zA-Z0-9\-]{2,3})$

Teléfono 591-4-1234567^[0-9]{3}-[0-9]{1}-[0-9]{7}$

IP ^[0-9]{1,3}\.[0-0]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$

Page 12: 7 Programación Web con .NET y C#

Validaciones Personalizadas Crear una clase que implemente

ValidationAttribute Usar Anotación AtributeUsage para

AtributteTargets.Property y Field Implementar método IsValid()

Page 13: 7 Programación Web con .NET y C#

Interface ValidationAttributepublic abstract class ValidationAttribute : Attribute{       public string ErrorMessage { get; set; }

    public virtual bool IsValid(object value);

    protected virtual ValidationResult IsValid(object value, ValidationContext c);

public virtual string FormatErrorMessage(string name)

     // otros metodos}

Page 14: 7 Programación Web con .NET y C#

int size = 3; int pagina = (pagina ?? 1); return .ToPagedList(pagina, size)); @model PagedList.IPagedList<Product> @using PagedList.Mvc; @using PagedList; @Html.PagedListPager(Model, page =>

Url.Action("Index", new { page }))

Page 15: 7 Programación Web con .NET y C#

Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

@if (Model.HasPreviousPage) { @Html.ActionLink("<<", "Index", new { page = 1}) @Html.Raw(" "); @Html.ActionLink("< Prev", "Index", new { page = Model.PageNumber - 1}) } else { @:<< @Html.Raw(" "); @:< Prev }

@if (Model.HasNextPage) { @Html.ActionLink("Next >", "Index", new { page = Model.PageNumber + 1 }) @Html.Raw(" "); @Html.ActionLink(">>", "Index", new { page = Model.PageCount}) } else { @:Next > @Html.Raw(" ") @:>> }

Page 16: 7 Programación Web con .NET y C#

Configuración Cultura Web.config <globalization culture="es-BO"

uiCulture="es-BO" />