关于定金与违约金的区别,说法正确的有

关于定金与违约金的区别,说法正确的有

A.定金的给付一般是在订立合同之时,也可以在合同履行之前给付,而不是在违约时支付

B.违约金有证明合同成立和预先给付的效力,而定金没有

C.定金主要是担保作用,违约金则是违约责任的一种形式

D.定金的数额不超过主合同标的额的20%,而违约金没此限制

正确答案是ACD