X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=fs_selfservice%2FFS-SelfService%2Fcgi%2Fadd_password_validation.js;fp=fs_selfservice%2FFS-SelfService%2Fcgi%2Fadd_password_validation.js;h=e2e3227f1462c871b6daab5f0f8b2c7208cb7116;hb=4b147e668c23fd3011885ed94d84f4f3bb27c71f;hp=0000000000000000000000000000000000000000;hpb=7c08f01e1a05fe4bab903bd44277b5c3784aebc5;p=freeside.git diff --git a/fs_selfservice/FS-SelfService/cgi/add_password_validation.js b/fs_selfservice/FS-SelfService/cgi/add_password_validation.js new file mode 100644 index 000000000..e2e3227f1 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/add_password_validation.js @@ -0,0 +1,38 @@ +function add_password_validation (fieldid,nologin) { + var inputfield = document.getElementById(fieldid); + inputfield.onchange = function () { + var fieldid = this.id+'_result'; + var resultfield = document.getElementById(fieldid); + var svcnum = ''; + var svcfield = document.getElementById(this.id+'_svcnum'); + if (svcfield) { + svcnum = svcfield.options[svcfield.selectedIndex].value; + } + if (this.value) { + resultfield.innerHTML = 'Validating password...'; + var action = nologin ? 'validate_password_nologin' : 'validate_password'; + send_xmlhttp('selfservice.cgi', + ['action',action,'fieldid',fieldid,'svcnum',svcnum,'check_password',this.value], + function (result) { + result = JSON.parse(result); + var resultfield = document.getElementById(result.fieldid); + if (resultfield) { + var errorimg = ''; + var validimg = ''; + if (result.valid) { + resultfield.innerHTML = validimg+'Password valid!'; + } else if (result.error) { + resultfield.innerHTML = errorimg+''+result.error+''; + } else { + result.syserror = result.syserror || 'Server error'; + resultfield.innerHTML = errorimg+''+result.syserror+''; + } + } + } + ); + } else { + resultfield.innerHTML = ''; + } + }; +} +