I wouldn't say it's incorrect, but I find the placement of "on a moral basis" slightly awkward. " I wonder if it might be better to say: Even it's for a worthy cause, it's not acceptable, on a moral basis, to sell photos of a baby.
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.