2010-09-02 17 views
5

¿Cuál es la mejor validación del lado del cliente o de la del lado del servidor?Validaciones en ASP.NET y C#

+0

Esto debe dejarse abierto, por lo que la respuesta clara es que la validación del lado del servidor no es opcional. Vale la pena repetir tantas veces como sea necesario para transmitir el mensaje. – Richard

+1

posible duplicado de [¿Debería hacer la validación por el lado del servidor?] (http://stackoverflow.com/questions/1125772/should-you-do-validation-on-the-server-side) –

+0

Aunque puede ser argumentativo, necesito una respuesta adecuada. Para que pueda usar en mi aplicación. Vota para reabrir – Bala

Respuesta

10

La validación del lado del servidor es imprescindible ya que la validación del lado del cliente puede ser manipulada. Sin embargo, la validación del lado del cliente generalmente proporciona una mejor experiencia de usuario, ya que requiere menos respaldos de publicación. Entonces recomendaría usar ambos.

3

Por seguridad:

Validación del lado del servidor.

Un cliente inteligente puede eliminar la validación.

Para una mejor experiencia de interfaz gráfica de usuario: la validación del lado

cliente.

4

Usted DEBE haga la validación del lado del servidor. De lo contrario, cualquier persona puede enviar lo que quiera (considere el navegador con JavaScript deshabilitado o un navegador falso personalizado).

La validación del sitio del cliente se puede utilizar para proporcionar una mejor experiencia de usuario, pero debe funcionar correctamente si no está disponible.

1

Para la validación en ASP.NET ambos son buenos, pero depende de la aplicación. Por motivos de seguridad, la validación del lado del servidor es la mejor, pero aumenta la sobrecarga en el servidor, por lo que generalmente evitamos utilizar la validación del lado del servidor cuando no sea necesario.

La validación del lado del cliente es generalmente la mejor para verificar el parámetro de tipo de entrada y su verificación en el lado del cliente en su navegador, por lo que no carga el servidor y menos tiempo e inseguridad.

En mi opinión, la validación del lado del cliente es la mejor.

0

Sugiero la validación del lado del servidor con AJAX solamente.

Como han señalado otros, la validación del lado del servidor es imprescindible ya que la validación del lado del cliente puede ser manipulada.

He trabajado en proyectos en los que hemos utilizado el lado del cliente, además de la validación del lado del servidor, pensando que esto sería más fácil en el servidor y proporcionaría una mejor experiencia de usuario. Si bien funcionó bien, se produjo a costa de violar el principio DRY (No repetir) y arriesgarse a implementaciones de validación incoherentes del lado del servidor/cliente (nota: abandoné los validadores de ASP.NET incorporados hace mucho tiempo).)

Desde entonces, he encontrado que en la práctica puede lograr casi una experiencia de usuario tan buena realizando todos los POSTS usando Ajax: si la validación en el servidor tiene éxito, proceda con el propósito principal del POST (guardando datos o algo), y devuelva una respuesta JSON exitosa y llame a una devolución de llamada exitosa para navegar a otra página o algo. Si la validación falla, devuelva una respuesta JSON que contenga los campos y mensajes fallidos y llame a una devolución de llamada fallida para mostrarlos.

Suponiendo que tenga cuidado de adelgazar sus POST (una práctica deliberada en ASP.NET que conozco), esta estrategia será lo suficientemente amable para su servidor en general.

Cuestiones relacionadas