PromptControlRegexValidator.js 915 B

12345678910111213141516171819202122232425262728293031323334
  1. define( ["../PromptValidators/regexValidator.js"], function( fnRegexValidator ) {
  2. "use strict";
  3. function C_Control()
  4. {
  5. };
  6. C_Control.prototype.initialize = function( oControlHost, fnDoneInitializing )
  7. {
  8. var o = oControlHost.configuration;
  9. if ( !o || !o["Control names"] || !o["Regular expression"] )
  10. {
  11. fnDoneInitializing();
  12. throw new scriptableReportError( "RegexValidatorControl", "initialize", 'Expected "Control names" and "Regular expression" in configuration.' );
  13. }
  14. var fn = new Function( "return " + o["Regular expression"] );
  15. var re = fn();
  16. var fnValidator = fnRegexValidator.bind( null, re );
  17. var aNames = o["Control names"];
  18. for ( var i = 0; i < aNames.length; i++ )
  19. {
  20. var aControls = oControlHost.page.getControlsByName( aNames[i] );
  21. for ( var j = 0; j < aControls.length; j++ )
  22. {
  23. aControls[j].setValidator( fnValidator );
  24. }
  25. }
  26. fnDoneInitializing();
  27. };
  28. return C_Control;
  29. });