function Validator(formIsValid) {
if(this.formIsValid) {
alert('Form is valid!');
}
else {
alert('Form is invalid...');
}
}
Validator.prototype = { // Notice the .prototype here, it's important!
formIsValid: true,
enforceTextFieldMinLength: function(field, minLength) {
if (!field.value || field.value.length < minLength) {
this.formIsValid = false;
}
},
enforceLabelHasText: function(label) {
if (!label.text) {
this.formIsValid = false;
}
}
}
//var val = new Validator();
The above is my Val.js. This is how i am using in my otherFile.js
AddPatient.Firstname = FirstNameValue || Validator.enforceLabelHasText(FirstName);
I get an error saying cannot find function enforceLabelHasText in Object function Validator(formIsValid)
You can’t put expressions in an object definition. If you want code to be executed after an object instance is created, you should use:
This is a dummy solution; you will want to add arguments to the
Validator()function, to initializeformIsValidand the other values. I suggest you should read the MDC’s description on prototypes.EDIT: If you went with the prototype solution, you need to call
val.enforceLabelHasText(FirstName), after makingvala global variable (either by omitting thevaror by usingvar window.val = new Validator()).