En el código que posteaste no hay NADA que indique un error en caso de que el campo esté vacío.
Si sale siempre en rojo, es porque la clase
in_submitted tiene ese estilo.
Tampoco entiendo esto:
Código Javascript
:
Ver originalif(data.error === true){
alert("entró :D");
}
data.error no existe. data sólo tiene
msg (el cual lo generaste en el PHP)