【发布时间】:2009-02-22 16:39:59
【问题描述】:
所以我想在 javascript 中构建一个表单验证类/对象。我认为它的工作方式是这样的:
var form=new Validation();
form.addField("name","Your name","required");
form.addField("email","Email Address","is_email");
.........
form.validate();
我在想validation 类会被定义成这样?
validation
{
var fields=new Array();
var labels=new Array();
var rules=new Array();
var count=0;
function addField(field,label,rule)
{
this.fields[count]=field;
this.labels[count]=label;
this.rules[count]=rule;
this.count=count+1;
}
function validate()
{
var valid;
for (x=0; x< count; x++)
{
valid=false;
switch (this.rules[x])
{
case 'required':
valid=this.validate_required(this.fields[x]);
break;
case 'email':
valid=this.validate_email(this.fields[x]);
break;
}
if (! valid)
this.addError(this.fields[x],this.rules[x],this.labels[x]);
}
if (this.hasErrors())
return false;
else
return true;
}
..........
}
我知道现在这可能是不可能的。我的问题是,我该怎么做才能使第一个代码块(创建Validation 的新实例并为其添加规则)可以工作?
提前致谢。
【问题讨论】:
标签: javascript language-agnostic oop