I was able to use a similar technique to successfully require a signature field. The problem with using just the above mentioned script is the signature field never realizes it has been signed and thus, never removes the requirement. You must determine the signing action manually and remove the requirement manually for the entire process to work. All of my script is written in FormCalc script so make sure you have this selected in the script editor.
Place the following code in the "initialize" event of the signature field:
$.validate.nullTest = "error"
Now change to the "layout:ready" event of the signature field and apply the following:
var signature1Blank = $.saveXML();
This creates a 'footprint' of the signature field pre-signing. The goal here is to determine when the field gets 'signed'.
The final step is to place the following piece in whatever action makes the most sense for your form. Mine uses a submit button to post the xml to a listener page so I put it in the 'mouseDown' event of my submit button:
if (form1.#subform.SignatureField1.saveXML() <> signature1Blank) then
As you can see, the script compares the current XML 'footprint' of the signature with the 'footprint' taken upon loading the form. If they are different, the field must've been signed and we can remove the requirement thus allowing the submittal to proceed.