In reply to dave_59:
Thanks Dave, it works!
It is explicitly demonstrated in LRM that "randomize(null)" will check all constraints in the class, but I don't find an explicit demonstrtion that "randomize(xx)" will also check all constraints, maybe I have missed somthing in LRM. It is easily misunderstood that "randomize(xx)" will only check constraints specified with "xx".