Generally, Dijkstra's algorithm cannot be used to graph with negative edge lengths. However, there can be a special case. If all negative edges in the graph are connected to the starting point (also works for the destination if you flip the starting point and the destination in an undirected graph). Dijkstra's algorithm will also offer the shortest path.
The reason for this is that Dijkstra's algorithm always picks the edge that has the minimum distance from the starting node. The core part is: In non-negative weights case, adding more edges in a path, this path will only increase (at least won't decrease). However, if negative lengths are introduced, adding more edges in a path may lead to decreasing the path length.
In the following example, if you start from s to t, using Dijkstra's algorithm, it will not work because edge(v, t) reduces the length of the path.
An example
However, if we start from t to s using Dijkstra's algorithm, It will pick the edge(v, t) instead of (s,t) and later it will pick (s, v). It will work because only the edges incident to the starting node are negative will not hurt the global shortest distances. In the later iteration, only non-negative edges will be picked and adding more edges will surely increase the length.
In general, it is safe to say that Dijkstra's shortest algorithm will not work in graphs with negative edge lengths.