公民訂立遺囑發生法律效力的條件如下:1、立遺囑人立遺囑時須有行為能力。2、遺囑必須表示立遺囑人的真實意思,因受脅迫、欺騙所立遺囑無效。3、遺囑的內容合法並不得違背社會公共利益。4、遺囑繼承人在繼承開始時必須生存,若遺囑繼承人先於被繼承人死亡的遺囑該部分內容無效。【法律依據】《民法典》第一百四十三條,具備下列條件的民事法律行為有效:(一)行為人具有相應的民事行為能力;(二)意思表示真實;(三)不違反法律、行政法規的強制性規定,不違背公序良俗。