Este documento describe diferentes métodos para validar datos en el servidor en .NET, incluyendo atributos de Data Annotations para especificar reglas de validación, mostrar mensajes de error personalizados, y validación personalizada mediante la implementación de IValidatableObject.
2016 is going to be the year of Virtual DOM. React.js one of the most popular implementation of Virtual DOM. But this time we won't focus on React.js. We will be focusing on what is the concept of Virtual DOM, what's the benefits, and how to use it without React.js. All of those concepts will help you understand this newest DOM manipulation technique and better work with any Virtual DOM implementations such React.js.
Presentación del "Seminario Introducción a HTML5 y CSS3" impartido el 28 de octubre de 2010 en el CEU San Pablo por Paradigma Tecnológico.
Desde Paradigma, esperamos que el seminario cumpliera con vuestras expectativas y que os haya servido para conocer dichos estándares y os sirva de punto de partida para el desarrollo de nuevas aplicaciones web.
Muchas gracias.
2016 is going to be the year of Virtual DOM. React.js one of the most popular implementation of Virtual DOM. But this time we won't focus on React.js. We will be focusing on what is the concept of Virtual DOM, what's the benefits, and how to use it without React.js. All of those concepts will help you understand this newest DOM manipulation technique and better work with any Virtual DOM implementations such React.js.
Presentación del "Seminario Introducción a HTML5 y CSS3" impartido el 28 de octubre de 2010 en el CEU San Pablo por Paradigma Tecnológico.
Desde Paradigma, esperamos que el seminario cumpliera con vuestras expectativas y que os haya servido para conocer dichos estándares y os sirva de punto de partida para el desarrollo de nuevas aplicaciones web.
Muchas gracias.
This is a brief introduction about HTML5. You will learn that what is new in HTML5. I will tell what and when changes happened in HTML which Hyper Text markup language. Html is a language which is used to create web pages that we have seen on the internet. For website development and web hosting visit https://tekfold.com
Quick overview on Visual Studio 2012 Profiler & Profiling tools : the importance of the profiling methods (sampling, instrumentation, memory, concurrency, … ), how to run a profiling session, how to profile unit test/load test, how to use API and a few samples
External dependencies ,pre init hook & post init hook in odooCeline George
When we creating a module in odoo important thing is __manifest__.py( for odoo 10.0 and later versions) or __openerp__.py(for odoo 9.0 and earlier versions).
커지고 있는 웹 애플리케이션에서 성능은 점점 더 중요한 요소가 되고 있습니다. 사용자와의 접점에서 긴밀한 상호작용을 요구하는 프런트엔드, 보다 빠르게 로딩되고 부드럽게 구동되어야 하는 웹 애플리케이션을 만들기 위해 노력하는 분들과 함께 이야기를 나눕니다.
목차
1. 로딩 최적화 방법
2. PWA 케이스 소개
3. 렌더링 최적화 방법
대상
- 프런트엔드 성능 개선을 시작하고 싶은 개발자
- 느린 웹 페이지를 빠르게 만드는 데 관심 있는 프런트엔드 개발자
- 로딩/렌더링 최적화에 대한 힌트를 얻고 싶은 개발자
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
https://www.youtube.com/watch?v=lKrbeJ7-J98
HTTP messages are how data is exchanged between a server and a client. There are two types of messages: requests sent by the client to trigger an action on the server, and responses, the answer from the server.
This slide guides through the differences of the Span and Div tags in HTML.
I started a channel on YouTube for Networking lovers. "VERY SIMPLE NETWORKING" SERIES can be found at http://www.youtube.com/bgccnadom.
THANK YOU FOR YOUR SUPPORT AND LIKES.
What is JavaScript?
JavaScript is a very powerful client-side scripting language. JavaScript is used mainly for enhancing the interaction of a user with the webpage. In other words, you can make your webpage more lively and interactive, with the help of JavaScript. JavaScript is also being used widely in game development and Mobile application development.
This is a brief introduction about HTML5. You will learn that what is new in HTML5. I will tell what and when changes happened in HTML which Hyper Text markup language. Html is a language which is used to create web pages that we have seen on the internet. For website development and web hosting visit https://tekfold.com
Quick overview on Visual Studio 2012 Profiler & Profiling tools : the importance of the profiling methods (sampling, instrumentation, memory, concurrency, … ), how to run a profiling session, how to profile unit test/load test, how to use API and a few samples
External dependencies ,pre init hook & post init hook in odooCeline George
When we creating a module in odoo important thing is __manifest__.py( for odoo 10.0 and later versions) or __openerp__.py(for odoo 9.0 and earlier versions).
커지고 있는 웹 애플리케이션에서 성능은 점점 더 중요한 요소가 되고 있습니다. 사용자와의 접점에서 긴밀한 상호작용을 요구하는 프런트엔드, 보다 빠르게 로딩되고 부드럽게 구동되어야 하는 웹 애플리케이션을 만들기 위해 노력하는 분들과 함께 이야기를 나눕니다.
목차
1. 로딩 최적화 방법
2. PWA 케이스 소개
3. 렌더링 최적화 방법
대상
- 프런트엔드 성능 개선을 시작하고 싶은 개발자
- 느린 웹 페이지를 빠르게 만드는 데 관심 있는 프런트엔드 개발자
- 로딩/렌더링 최적화에 대한 힌트를 얻고 싶은 개발자
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
https://www.youtube.com/watch?v=lKrbeJ7-J98
HTTP messages are how data is exchanged between a server and a client. There are two types of messages: requests sent by the client to trigger an action on the server, and responses, the answer from the server.
This slide guides through the differences of the Span and Div tags in HTML.
I started a channel on YouTube for Networking lovers. "VERY SIMPLE NETWORKING" SERIES can be found at http://www.youtube.com/bgccnadom.
THANK YOU FOR YOUR SUPPORT AND LIKES.
What is JavaScript?
JavaScript is a very powerful client-side scripting language. JavaScript is used mainly for enhancing the interaction of a user with the webpage. In other words, you can make your webpage more lively and interactive, with the help of JavaScript. JavaScript is also being used widely in game development and Mobile application development.
Un objeto Statement se usa para enviar sentencias SQL a la base de datos. Actualmente hay tres tipos de objetos Statement, todos los cuales actúan como contenedores para la ejecución de sentencias en una conexión dada: Statement, PreparedStatement que hereda de Statement y CallableStatement que hereda de PreparedStatement. Estas están especializadas para enviar tipos particulares de sentencias SQL, Un objeto Statement se usa para ejecutar una sentencia SQL simple sin parámetros. Un objeto PreparedStatement se usa para ejecutar sentencias SQL precompiladas con o sin parámetros IN; y un objeto CallableStatement se usa para ejecutar un procedimiento de base de datos almacenado.
Representa un procedimiento almacenado o una instrucción de Transact-SQL que se ejecuta en una base de datos de SQL Server. Representa una conexión abierta a una base de datos de SQL Server. Esta clase no puede heredarse.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
2. Validacion en el servidor
Validación en el servidor
Siempre validar en el lado del servidor,
porque los usuarios pueden deshabilitar
javascript en sus navegadores.
Data Annotations
Son atributos definidos en
System.ComponentModel.DataAnnotations
que nos permiten especificar como deben
validarse los datos
3. Data Annotations
RegularExpressionAttribute, Los datos
deben matchear una expression regular
dada.
CompareAttribute, Compara si los valores
de 2 propiedades del modelo son iguales
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-
Za-z0-9.-]+.[A-Za-z]{2,4}")]
public string Email { get; set; }
[Compare("Email")]
public string ConfirmacionEmail { get; set; }
4. Data Annotations
RequiredAttribute, Indica que se require
un valor
StringLengthAttribute, El maximo de
caracteres permitidos.
[Required]
public string Nombre { get; set; }
[StringLength(160)]
public string Apellido { get; set; }
[StringLength(160, MinimumLength = 3)]
public string Nombre { get; set; }
5. Data Annotations
RangeAttribute, Especifica un rango de
valores permitidos.
[Range(21, 50)]
public int Edad { get; set; }
[Range(typeof(decimal), "0.50", "89.99")]
public decimal Precio { get; set; }
[Range(typeof(DateTime), "1/1/2013", "12/31/9999")]
public DateTime FechaInicio { get; set; }
6. Data Annotations
RemoteAttribute, Hace que jQuery Validate
llame a una accion en el server para realizer
la validación
Especificamos el action y el controller:
El action realiza la validación:
[Remote("ValidarNombreUsuario", "Cuentas")]
public string NombreUsuario { get; set; }
public JsonResult ValidarNombreUsuario(string nombreUsuario)
{
List<string> usuarios = new List<string>()
{"Juanito", "Pepito"};
// Alguna valicadion:
bool resultado = usuarios.Any(u => u == nombre);
return Json(resultado, JsonRequestBehavior.AllowGet);
}
7. Data Annotations
Para saber si los datos son válidos:
Preguntar si el valor de ModelState.IsValid
es true
[HttpPost]
public ActionResult CrearEmpleado(Empleado empleado)
{
if (ModelState.IsValid)
{
return View("DatosCreados");
}
return View(new Empleado());
}
8. Data Annotations
Mensajes de error personalizados:
Especificar el valor de ErrorMessage
[StringLength(160, ErrorMessage="Ingrese
máximo 160 caracteres")]
public string Apellido { get; set; }
10. Data Annotations Personalizados
1. Creamos una clase que herede de
ValidationAttribute:
public class MaximasPalabrasAttribute : ValidationAttribute
{
private int maximoPalabras;
public MaximasPalabrasAttribute(int maximoPalabras)
{
this.maximoPalabras = maximoPalabras;
}
11. Data Annotations Personalizados
2. Sobreescribimos el metodo IsValid:
protected override ValidationResult IsValid(object value,
ValidationContext validationContext)
{
if (value != null)
{
var cadena = value.ToString();
if (cadena.Split(' ').Length > maximoPalabras)
{
return new ValidationResult("Muchas palabras!");
}
}
return ValidationResult.Success;
}
13. Data Annotations Personalizados
3.2. Permitir mensajes de error diferentes:
En el constructor:
Retornando el error:
public MaximasPalabrasAttribute(int maximoPalabras)
: base("{0} tiene muchas palabras.")
{
var mensaje =
FormatErrorMessage(validationContext.DisplayName);
return new ValidationResult(mensaje);
14. Otros Data Annotations
Display, permite especificar el texto del
label, y tambien el orden.
ScaffoldColumn, para marcar las
propiedades que no deben incluirse cuando
usamos EditorForModel o DisplayForModel
[Display(Name = "Ingrese su Apellido", Order = 2)]
public string Apellido { get; set; }
[ScaffoldColumn(false)]
public string Apellido { get; set; }
15. Otros Data Annotations
DisplayFormat, permite especificar el
format de los datos.
ReadOnly, no se modificara el valor del
modelo con los datos que ingrese el usuario
[DisplayFormat(ApplyFormatInEditMode = true,
DataFormatString = "{0:c}")]
public decimal Total { get; set; }
[ReadOnly(true)]
public decimal Total { get; set; }
16. Otros Data Annotations
DataType, permite especificar el tipo de los
datos.
HiddenInput, Los datos se enviaran en un
input oculto par ael usuario
[DataType(DataType.Password)]
public string Password { get; set; }
[HiddenInput]
public string Apellido { get; set; }
17. Self Validation
Self Validation
Son modelos que pueden validarse a si
mismos
Implementan la interfaz IValidatableObject
public class Estudiante : IValidatableObject
{
public IEnumerable<ValidationResult> Validate(
ValidationContext validationContext)
{
if (Apellido != null && Apellido.Split(' ').Length > 2)
{
yield return new ValidationResult("El apellido es incorrecto!",
new[] { "Apellido" });
}
}
public string Apellido { get; set; }
}