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();
以上是我的Val.js。这就是我在 otherFile.js 中使用的方式
AddPatient.Firstname = FirstNameValue || Validator.enforceLabelHasText(FirstName);
我收到一条错误消息:无法在对象函数 Validator(formIsValid) 中找到函数 enforceLabelHasText
最佳答案
您不能将表达式放在对象定义中。如果您希望在创建对象实例后执行代码,您应该使用:
function Validator() {
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 a = new Validator();
这是一个虚拟的解决方案;您需要向 Validator()
函数添加参数,以初始化 formIsValid
和其他值。我建议你应该阅读 the MDC's description on prototypes .
编辑:如果您使用原型(prototype)解决方案,则需要在将 val
设置为全局变量后调用 val.enforceLabelHasText(FirstName)
变量(通过省略 var
或使用 var window.val = new Validator()
)。
关于javascript - 对象内的 If/else 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6329906/