diff --git a/UyTube_logica/src/Logica/Controladores/CUsuario.java b/UyTube_logica/src/Logica/Controladores/CUsuario.java
index a467352a3d3259d4a362f4f495fa36d3e00482d7..4d6905db1c6ec8cf8dabccec5a4e645e4895237c 100644
--- a/UyTube_logica/src/Logica/Controladores/CUsuario.java
+++ b/UyTube_logica/src/Logica/Controladores/CUsuario.java
@@ -797,32 +797,36 @@ public class CUsuario implements IUsuario {
     }
     
     @Override
-    public boolean validarNuevaListaParticular(String nombre) {
+    public boolean validarNuevaListaParticular(String nombre, int idExcepcion) {
         if (this.usuarioActual == null){
             throw new RuntimeException("No se ha iniciado sesión");
         }
         if (obtenerListasPorDefecto().containsKey(nombre)) {
             return false;
         }
-        if (idListaSeleccionada != 0){
-            if (usuarioActual.obtenerListaDeReproduccion(idListaSeleccionada).getNombre().equals(nombre)){
-                return true;
+        for (DtListaDeReproduccion it : usuarioActual.listarListasDeReproduccionDeCanal(true)){
+            if (it.getId() != idExcepcion){
+                if (it.getNombre().equals(nombre)){
+                    return false;
+                }
             }
         }
-        return usuarioActual.validarListaParticular(nombre);
+        return true;
     }
 
     @Override
-    public boolean validarNuevoVideo(String nombre) {
+    public boolean validarNuevoVideo(String nombre, int idExcepcion) {
         if (this.usuarioActual == null){
             throw new RuntimeException("No se ha iniciado sesión");
         }
-        if (idVideoSeleccionado != 0){
-            if (usuarioActual.obtenerVideo(idVideoSeleccionado).getNombre().equals(nombre)){
-                return true;
+        for (DtVideo it : usuarioActual.listarVideosDeCanal()){
+            if (it.getId() != idExcepcion){
+                if (it.getNombre().equals(nombre)){
+                    return false;
+                }
             }
         }
-        return usuarioActual.validarListaParticular(nombre);
+        return true;
     }
 
     @Override
diff --git a/UyTube_logica/src/Logica/Interfaces/IUsuario.java b/UyTube_logica/src/Logica/Interfaces/IUsuario.java
index 0d0ba5d286edaaa6108ed944a52a4e7e4bb33647..3ec6e6755ec92c387a2b7b92c9469fc30ad04763 100644
--- a/UyTube_logica/src/Logica/Interfaces/IUsuario.java
+++ b/UyTube_logica/src/Logica/Interfaces/IUsuario.java
@@ -343,24 +343,27 @@ public interface IUsuario {
     
     /**
      * Verifica si el usuarioActual puede agregar una lista de reproduccion con
-     * el nombre indicado (Si hay una idListaSeleccionada y su nombre coincide
-     * con el nombre a verificar, retorna true)
+     * el nombre indicado. Si se está modificando una lista, se puede
+     * especificar el ID de la lista que se está modificando para una validacion
+     * correcta
      *
      * @param nombre Nombre de la lista de reproduccion
+     * @param idExcepcion ID de la lista a ignorar (0 si no se decea ignorar ninguna)
      * @return true si el usuarioActual puede agregar una lista de reproduccion
      * con ese nombre
      */
-    public boolean validarNuevaListaParticular(String nombre);
+    public boolean validarNuevaListaParticular(String nombre, int idExcepcion);
 
     /**
      * Verifica si el usuarioActual puede agregar un video con el nombre
-     * indicado (Si hay un idVideoSeleccionado y su nombre coincide con el
-     * nombre a verificar, retorna true)
-     *
+     * indicado. Si se está modificando un video, se puede especificar el ID del
+     * video que se está modificando para una validacion correcta
+     * 
      * @param nombre Nombre del video
+     * @param idExcepcion ID del video a ignorar (0 si no se decea ignorar ninguno)
      * @return true si el usuarioActual puede agregar un video con ese nombre
      */
-    public boolean validarNuevoVideo(String nombre);
+    public boolean validarNuevoVideo(String nombre, int idExcepcion);
 
     /**
      * Se ingresa la nueva valoracion dada por usuarioActual al video
diff --git a/UyTube_web/libreria/UyTube_logica.jar b/UyTube_web/libreria/UyTube_logica.jar
index 533234ca8e508f89691f1c9cc608e1c06d271032..c9c9e50bd4f8fe8e5751d49d04ace1b1d9dd1c02 100644
Binary files a/UyTube_web/libreria/UyTube_logica.jar and b/UyTube_web/libreria/UyTube_logica.jar differ
diff --git a/UyTube_web/src/java/com/uytube/PeticionAjax.java b/UyTube_web/src/java/com/uytube/PeticionAjax.java
index 11c8f37aa49a2ab7efd87c249b2f1fdf1909df56..b28f9f367fd3b2eb0aa3fcc98cae79dca148fd0d 100644
--- a/UyTube_web/src/java/com/uytube/PeticionAjax.java
+++ b/UyTube_web/src/java/com/uytube/PeticionAjax.java
@@ -8,8 +8,6 @@ package com.uytube;
 import Logica.Fabrica;
 import Logica.Interfaces.IUsuario;
 import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Arrays;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -67,6 +65,29 @@ public class PeticionAjax extends HttpServlet {
                         respuesta = "Este email no está disponible";
                     }
                     break;
+                case "validarNombreVideo":
+                    int idVideo = 0;
+                    if (request.getParameter("idVideo") != null){
+                        idVideo = Integer.valueOf(request.getParameter("idVideo"));
+                    }
+                    
+                    if (dato == null || dato.equals("")){
+                        break;
+                    }
+                    if ( ! sys.validarNuevoVideo(dato, idVideo)){
+                        respuesta = "El canal ya posee un video con ese nombre";
+                    }
+                    break;
+                case "validarNombreLista":
+                    int idLista = 0;
+                    if (request.getParameter("idLista") != null){
+                        idLista = Integer.valueOf(request.getParameter("idLista"));
+                    }
+                    
+                    if ( ! sys.validarNuevaListaParticular(dato, idLista)){
+                        respuesta = "El canal ya posee una lista con ese nombre";
+                    }
+                    break;
             }
             System.out.println("Respuesta: " + respuesta);
             response.getWriter().write(respuesta);
diff --git a/UyTube_web/web/AltaListaReproduccion.jsp b/UyTube_web/web/AltaListaReproduccion.jsp
index 8cc7c9e3aa65a33afbf4fe3c4554fda800ed8f1a..1f9b636c44ce79a672e329691039273c30169d7d 100644
--- a/UyTube_web/web/AltaListaReproduccion.jsp
+++ b/UyTube_web/web/AltaListaReproduccion.jsp
@@ -80,9 +80,10 @@
                                             <h1 class="h3 mb-4 font-weight-normal" id="Texto_ingrese">Ingrese sus datos</h1>
                                             <div class="mb-5">
                                                 <input type="text" class="form-control" name="nombreL" id="nombreLista" placeholder="Nombre de la lista" required>
+                                               <span id="msjNombre"></span>
                                             </div>
-
-
+                                            
+                                            
                                             <div class="row">
                                                 <div class="col-md-5">
                                                     <label class="">Privacidad</label>
@@ -139,5 +140,6 @@
         <script src="js/bootstrap.bundle.min.js"></script>
         <script src="js/bootstrap.min.js"></script>
         <script src="js/funciones.js"></script>
+        <script src="js/alta-modificar-lista.js"></script>
     </body>
 </html>
diff --git a/UyTube_web/web/AltaVideo.jsp b/UyTube_web/web/AltaVideo.jsp
index 6853ca270b2dd129303adc6cf64957ebc873c54a..95d22f1bcf5ae20354f2e791e5fcba09cd7a48ba 100644
--- a/UyTube_web/web/AltaVideo.jsp
+++ b/UyTube_web/web/AltaVideo.jsp
@@ -73,6 +73,7 @@
                                         <div class="form-group col-12 col-md-9">
                                             <label for="inputNombre">Nombre</label>
                                             <input type="text" class="form-control" name="nombre" id="inputNombre" placeholder="Nombre del video">
+                                            <span id="msjNombre"></span>
                                         </div>
                                         <div class="form-group col-4 col-md-3">
                                             <label for="inputDuracion">Duración</label>
@@ -131,5 +132,6 @@
         <script src="js/bootstrap.bundle.min.js"></script>
         <script src="js/bootstrap.min.js"></script>
         <script src="js/funciones.js"></script>
+        <script src="js/alta-modificar-video.js"></script>
     </body>
 </html>
\ No newline at end of file
diff --git a/UyTube_web/web/ModificarVideo.jsp b/UyTube_web/web/ModificarVideo.jsp
index 9a305dec809176e07617ff51cfce6cb333343d41..2e6e46bb984650d6f472e1596ab85e5d818de82e 100644
--- a/UyTube_web/web/ModificarVideo.jsp
+++ b/UyTube_web/web/ModificarVideo.jsp
@@ -77,7 +77,8 @@
                                     <div class="form-group row">
                                         <div class="form-group col-md-9">
                                             <label for="inputNombre">Nombre</label>
-                                            <input value="<%= video.getNombre()%>" type="text" class="form-control" name="nombre" id="inputNombre" placeholder="Nombre del video">
+                                            <input idVideo="<%= video.getId() %>" value="<%= video.getNombre()%>" type="text" class="form-control" name="nombre" id="inputNombre" placeholder="Nombre del video">
+                                            <span id="msjNombre"></span>
                                         </div>
                                         <div class="form-group col-md-3">
                                             <label for="inputDuracion">Duración</label>
@@ -176,5 +177,6 @@
         <script src="js/bootstrap.bundle.min.js"></script>
         <script src="js/bootstrap.min.js"></script>
         <script src="js/funciones.js"></script>
+        <script src="js/alta-modificar-video.js"></script>
     </body>
 </html>
diff --git a/UyTube_web/web/js/alta-modificar-lista.js b/UyTube_web/web/js/alta-modificar-lista.js
new file mode 100644
index 0000000000000000000000000000000000000000..0bb85f269e5edeb48ee57323b584214987948ecb
--- /dev/null
+++ b/UyTube_web/web/js/alta-modificar-lista.js
@@ -0,0 +1,11 @@
+$("#nombreLista").keyup(function(){
+    var valorIngresado = $("#nombreLista").val();
+    
+    $.get("/uytube/consultar",
+        {
+          accion: "validarNombreLista",
+          dato: valorIngresado
+        }, function(respuesta, status){
+        $("#msjNombre").text(respuesta);
+    });
+}); 
diff --git a/UyTube_web/web/js/alta-modificar-video.js b/UyTube_web/web/js/alta-modificar-video.js
new file mode 100644
index 0000000000000000000000000000000000000000..dca6aa9d08836fa49b3cf73d5c48b38a4b12b993
--- /dev/null
+++ b/UyTube_web/web/js/alta-modificar-video.js
@@ -0,0 +1,17 @@
+$("#inputNombre").keyup(function(){
+    var idVideo = $("#inputNombre").attr("idVideo");
+    var valorIngresado = $("#inputNombre").val();
+    
+    if (idVideo === undefined){
+        idVideo = 0;
+    }
+    
+    $.get("/uytube/consultar",
+        {
+          idVideo: idVideo,
+          accion: "validarNombreVideo",
+          dato: valorIngresado
+        }, function(respuesta, status){
+        $("#msjNombre").text(respuesta);
+    });
+});