var dataFields;
const numRegex = /^\d+$/;
-const wordRegex = /^\w+$/;
+const wordRegex = /^[\w-]+$/;
+const unameRegex = /^\w[\.\w\@-]*$/;
const ssnRegex = /^\d{3}-\d{2}-\d{4}$/;
const dlRegex = /^[a-zA-Z]{2}-\w+/; /* driver's license */
const phoneRegex = /^\d{3}-\d{3}-\d{4}(| ex\d+)$/i;
function uEditBarcodeBlur(field) {
var barcode = uEditNodeVal(field);
if(!barcode) return;
+ _debug("blurring card with new value " + barcode);
var req = new Request(CHECK_BARCODE, SESSION, barcode);
req.callback(
function(r) {
errkey : 'ue_bad_username',
widget : {
id : 'ue_username',
- regex : wordRegex,
+ regex : unameRegex,
type : 'input',
onblur : uEditUsrnameBlur
}
var pw1f = uEditFindFieldByWId('ue_password1');
var pw1 = uEditNodeVal(pw1f);
field.widget.regex = new RegExp('^'+pw1+'$');
+ if( pw1 ) field.required = true;
+ else {
+ if(!patron.isnew())
+ field.required = false;
+ }
}
}
},
id : 'ue_claims_returned',
type : 'input',
regex : numRegex,
+ disabled : true
}
},
{
__lastdob = dob;
var parts = dob.split(/-/);
- var d = new Date( parts[0], parts[1] - 1, parts[2] );
-
+ parts[2] = parts[2].replace(/[T ].*/,'');
dob = buildDate( parts[0], parts[1], parts[2] );
var today = new Date();