CLE for Government
Gain valuable insights from industry leaders on essential topics like regulatory issues, government finance, and public-private partnerships

Enjoy a full year of expert-led courses, actionable insights, and powerful tools tailored to elevate your practice. Perfect for individuals and groups
The following has evaluated to null or missing: ==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66] ----
1<#assign productId = ''/>
2 <#if (productID.getData())?? && productID.getData()?has_content>
3 <#assign productId = productID.getData() />
4 </#if>
5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId)
6 json = jsonFactoryUtil.createJSONObject(response)
7 />
8
9 <div class="card">
10 <div class="card-body">
11 <div class="row justify-content-between align-items-center">
12 <div class="col-auto col-sm-auto">
13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div>
14 </div>
15 <div class="col-auto col-sm-auto pl-lg-0">
16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span>
17 </div>
18 </div>
19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div>
20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p>
21 <ul class="common-list disc_list paddNone">
22 <#if (benefits.getData())??>
23 ${benefits.getData()}
24</#if>
25 </ul>
26 </div>
27 <div class="btn-float">
28 <div class="premium-cle-pass cart-item">
29 <input type="hidden" class="product-id" value="${productId}">
30 <input type="hidden" class="product-name" value="${json.name}">
31 <input type="hidden" class="pass-value" value="${passName.getData()}">
32 <input type="hidden" class="product-price" value="${json.pricebook}">
33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}">
34 <input type="hidden" class="product-pass" value="family">
35 <input type="hidden" class="product-expireDate" value="">
36
37 <a href="javascript:void(0);" class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart"> <span class="material-symbols-rounded"> shopping_cart </span> Add to Cart </a>
38 </div>
39 </div>
40 </div>
41
42 <script>
43$(document).on('click', '.add-to-cart', function () {
44 let monthsToAdd = parseInt($(".passAccessLengthMonths").val());
45 let currentDate = new Date();
46 let futureDate = new Date(currentDate);
47 // Add months dynamically
48 futureDate.setMonth(futureDate.getMonth() + monthsToAdd);
49
50 // Handle overflow (e.g., Jan 31 + 1 month)
51 if (futureDate.getDate() !== currentDate.getDate()) {
52 futureDate.setDate(0); // last day of previous month
53 }
54
55 // Format as MM/DD/YYYY
56 function formatDateMMDDYYYY(date) {
57 let mm = String(date.getMonth() + 1).padStart(2, '0');
58 let dd = String(date.getDate()).padStart(2, '0');
59 let yyyy = date.getFullYear();
60 return mm + '/' + dd + '/' + yyyy;
61 }
62 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate));
63
64 // Then close the modal
65 $('.single_option').modal('hide');
66 });
67</script>
The following has evaluated to null or missing: ==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66] ----
1<#assign productId = ''/>
2 <#if (productID.getData())?? && productID.getData()?has_content>
3 <#assign productId = productID.getData() />
4 </#if>
5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId)
6 json = jsonFactoryUtil.createJSONObject(response)
7 />
8
9 <div class="card">
10 <div class="card-body">
11 <div class="row justify-content-between align-items-center">
12 <div class="col-auto col-sm-auto">
13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div>
14 </div>
15 <div class="col-auto col-sm-auto pl-lg-0">
16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span>
17 </div>
18 </div>
19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div>
20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p>
21 <ul class="common-list disc_list paddNone">
22 <#if (benefits.getData())??>
23 ${benefits.getData()}
24</#if>
25 </ul>
26 </div>
27 <div class="btn-float">
28 <div class="premium-cle-pass cart-item">
29 <input type="hidden" class="product-id" value="${productId}">
30 <input type="hidden" class="product-name" value="${json.name}">
31 <input type="hidden" class="pass-value" value="${passName.getData()}">
32 <input type="hidden" class="product-price" value="${json.pricebook}">
33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}">
34 <input type="hidden" class="product-pass" value="family">
35 <input type="hidden" class="product-expireDate" value="">
36
37 <a href="javascript:void(0);" class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart"> <span class="material-symbols-rounded"> shopping_cart </span> Add to Cart </a>
38 </div>
39 </div>
40 </div>
41
42 <script>
43$(document).on('click', '.add-to-cart', function () {
44 let monthsToAdd = parseInt($(".passAccessLengthMonths").val());
45 let currentDate = new Date();
46 let futureDate = new Date(currentDate);
47 // Add months dynamically
48 futureDate.setMonth(futureDate.getMonth() + monthsToAdd);
49
50 // Handle overflow (e.g., Jan 31 + 1 month)
51 if (futureDate.getDate() !== currentDate.getDate()) {
52 futureDate.setDate(0); // last day of previous month
53 }
54
55 // Format as MM/DD/YYYY
56 function formatDateMMDDYYYY(date) {
57 let mm = String(date.getMonth() + 1).padStart(2, '0');
58 let dd = String(date.getDate()).padStart(2, '0');
59 let yyyy = date.getFullYear();
60 return mm + '/' + dd + '/' + yyyy;
61 }
62 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate));
63
64 // Then close the modal
65 $('.single_option').modal('hide');
66 });
67</script>
The following has evaluated to null or missing: ==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66] ----
1<#assign productId = ''/>
2 <#if (productID.getData())?? && productID.getData()?has_content>
3 <#assign productId = productID.getData() />
4 </#if>
5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId)
6 json = jsonFactoryUtil.createJSONObject(response)
7 />
8
9 <div class="card">
10 <div class="card-body">
11 <div class="row justify-content-between align-items-center">
12 <div class="col-auto col-sm-auto">
13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div>
14 </div>
15 <div class="col-auto col-sm-auto pl-lg-0">
16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span>
17 </div>
18 </div>
19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div>
20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p>
21 <ul class="common-list disc_list paddNone">
22 <#if (benefits.getData())??>
23 ${benefits.getData()}
24</#if>
25 </ul>
26 </div>
27 <div class="btn-float">
28 <div class="premium-cle-pass cart-item">
29 <input type="hidden" class="product-id" value="${productId}">
30 <input type="hidden" class="product-name" value="${json.name}">
31 <input type="hidden" class="pass-value" value="${passName.getData()}">
32 <input type="hidden" class="product-price" value="${json.pricebook}">
33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}">
34 <input type="hidden" class="product-pass" value="family">
35 <input type="hidden" class="product-expireDate" value="">
36
37 <a href="javascript:void(0);" class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart"> <span class="material-symbols-rounded"> shopping_cart </span> Add to Cart </a>
38 </div>
39 </div>
40 </div>
41
42 <script>
43$(document).on('click', '.add-to-cart', function () {
44 let monthsToAdd = parseInt($(".passAccessLengthMonths").val());
45 let currentDate = new Date();
46 let futureDate = new Date(currentDate);
47 // Add months dynamically
48 futureDate.setMonth(futureDate.getMonth() + monthsToAdd);
49
50 // Handle overflow (e.g., Jan 31 + 1 month)
51 if (futureDate.getDate() !== currentDate.getDate()) {
52 futureDate.setDate(0); // last day of previous month
53 }
54
55 // Format as MM/DD/YYYY
56 function formatDateMMDDYYYY(date) {
57 let mm = String(date.getMonth() + 1).padStart(2, '0');
58 let dd = String(date.getDate()).padStart(2, '0');
59 let yyyy = date.getFullYear();
60 return mm + '/' + dd + '/' + yyyy;
61 }
62 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate));
63
64 // Then close the modal
65 $('.single_option').modal('hide');
66 });
67</script>
The following has evaluated to null or missing: ==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66] ----
1<#assign productId = ''/>
2 <#if (productID.getData())?? && productID.getData()?has_content>
3 <#assign productId = productID.getData() />
4 </#if>
5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId)
6 json = jsonFactoryUtil.createJSONObject(response)
7 />
8
9 <div class="card">
10 <div class="card-body">
11 <div class="row justify-content-between align-items-center">
12 <div class="col-auto col-sm-auto">
13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div>
14 </div>
15 <div class="col-auto col-sm-auto pl-lg-0">
16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span>
17 </div>
18 </div>
19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div>
20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p>
21 <ul class="common-list disc_list paddNone">
22 <#if (benefits.getData())??>
23 ${benefits.getData()}
24</#if>
25 </ul>
26 </div>
27 <div class="btn-float">
28 <div class="premium-cle-pass cart-item">
29 <input type="hidden" class="product-id" value="${productId}">
30 <input type="hidden" class="product-name" value="${json.name}">
31 <input type="hidden" class="pass-value" value="${passName.getData()}">
32 <input type="hidden" class="product-price" value="${json.pricebook}">
33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}">
34 <input type="hidden" class="product-pass" value="family">
35 <input type="hidden" class="product-expireDate" value="">
36
37 <a href="javascript:void(0);" class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart"> <span class="material-symbols-rounded"> shopping_cart </span> Add to Cart </a>
38 </div>
39 </div>
40 </div>
41
42 <script>
43$(document).on('click', '.add-to-cart', function () {
44 let monthsToAdd = parseInt($(".passAccessLengthMonths").val());
45 let currentDate = new Date();
46 let futureDate = new Date(currentDate);
47 // Add months dynamically
48 futureDate.setMonth(futureDate.getMonth() + monthsToAdd);
49
50 // Handle overflow (e.g., Jan 31 + 1 month)
51 if (futureDate.getDate() !== currentDate.getDate()) {
52 futureDate.setDate(0); // last day of previous month
53 }
54
55 // Format as MM/DD/YYYY
56 function formatDateMMDDYYYY(date) {
57 let mm = String(date.getMonth() + 1).padStart(2, '0');
58 let dd = String(date.getDate()).padStart(2, '0');
59 let yyyy = date.getFullYear();
60 return mm + '/' + dd + '/' + yyyy;
61 }
62 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate));
63
64 // Then close the modal
65 $('.single_option').modal('hide');
66 });
67</script>
Why Choose BARBRI CE Webinars?
Expert-Led Programs
Tap into unparalleled expertise. Our programs are crafted and delivered exclusively by distinguished professionals—renowned faculty, top-tier attorneys from the nation’s leading firms, and proven industry leaders. This is knowledge you won’t find anywhere else.
Timely + Comprehensive
Stay ahead of the curve. With over 1,000 new live programs each year and a library of 4,800+ on-demand webinars, we provide meticulously curated, in-depth insights into complex issues. Our content evolves constantly, ensuring you’re always equipped with the latest industry updates and regulatory developments.
Streamlined Continuing Education Credit Solutions
Simplify your path to CE compliance. Earn essential credits across multiple jurisdictions while exploring diverse practice areas. Our intuitive platform makes tracking your progress effortless, delivering post-program certificates and validating eligibility with precision—all designed to make compliance seamless.
Related Courses
Recommended Resources
5 Top Tips to Support Your SQE Candidates with Qualifying Work Experience Submissions
- Talent Development
The speakers were very engaging and informative.