Answers.Body: <p>We've implemented this using front end JS, simply don't allow submission until it is ticked, but you could (and/or) in theory add a field to your orders and then validate it as set during the onBeforeSaveOrder event I guess?  If not set, you'd set <code>$event-&gt;performAction</code> to false to stop the order being saved and show an error in your template.</p>
  
  <p><a href="https://craftcommerce.com/docs/events-reference#commerce_orders.onbeforesaveorder" rel="nofollow">https://craftcommerce.com/docs/events-reference#commerce_orders.onbeforesaveorder</a></p>
  
  <p>...but frond end JS is probably going to be the easier route here.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-07-05T00:44:12.157Z
Answers.LastActivityDate: 2016-07-05T00:44:12.157Z
Answers.UserDisplayName: Jeremy Daalder
Body: <p>What would be the best way of adding an Agree to Terms checkbox during the the checkout process of craft commerce? I'm thinking this would be best in the address section.</p>
  
Tags: <plugin-craftcommerce>
Title: Craft Commerce: Agree to Terms Checkbox?
ThreadText: # Craft Commerce: Agree to Terms Checkbox?
  
  (Asked by: username_0 on 2016-07-04)
  
  What would be the best way of adding an Agree to Terms checkbox during the the checkout process of craft commerce? I'm thinking this would be best in the address section.
  
  **Tags:** plugin-craftcommerce
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2016-07-05. Score: 4
  
  We've implemented this using front end JS, simply don't allow submission until it is ticked, but you could (and/or) in theory add a field to your orders and then validate it as set during the onBeforeSaveOrder event I guess? If not set, you'd set `$event->performAction` to false to stop the order being saved and show an error in your template.
  
  <https://craftcommerce.com/docs/events-reference#commerce_orders.onbeforesaveorder>
  
  ...but frond end JS is probably going to be the easier route here.
  
  
  ---
  
  