An edge-weighting problem of a graph G is an assignment of an integer weight to each edge e. Based on an edge-weighting problem, several types of vertex-coloring problems are put forward. A simple observation illuminates that the edge-weighting problem has a close relationship with special factors of the graphs. In this paper, we generalise several earlier results on the existence of factors with pre-specified degrees and hence investigate the edge-weighting problem — and in particular, we prove that every 4-colorable graph admits a vertex-coloring 4-edge-weighting.