Javascript 如何为这个网站需求建模
我必须设计一个网站,允许用户作出定制的形式。稍后,此表单将共享给其他用户 用户(表单创建者)可以选择诸如“Javascript 如何为这个网站需求建模,javascript,jquery,web,Javascript,Jquery,Web,我必须设计一个网站,允许用户作出定制的形式。稍后,此表单将共享给其他用户 用户(表单创建者)可以选择诸如“输入框”、“复选框”或“日期”等元素。每个元素都有一组验证,如“输入框”,用户可以选择“字母数字”或“仅数字”或“非空”等。这些验证可能更复杂 然后表单与其他用户(表单接收者)共享。他们在表格中填写自己的值 收到表单的用户应该面对与表单所有者设置的每个字段相同的验证 我的挑战是如何动态存储和创建用于验证的javascript 若它是简单的元素,那个么我可以存储完整的HTML并在显示时呈现它,
输入框
”、“复选框
”或“日期
”等元素。每个元素都有一组验证,如“输入框”,用户可以选择“字母数字
”或“仅数字
”或“非空
”等。这些验证可能更复杂
然后表单与其他用户(表单接收者)共享。他们在表格中填写自己的值
收到表单的用户应该面对与表单所有者设置的每个字段相同的验证
我的挑战是如何动态存储和创建用于验证的javascript
若它是简单的元素,那个么我可以存储完整的HTML并在显示时呈现它,但在这里验证进入了画面
关于如何实现此功能的任何想法
谢谢最简单的方法是定义一个伪类:
function Validator(args){
this.type = args.type || 'object';
this.max = args.max || null;
this.min = args.min || null;
this.canBeEmpty = args.empty || false;
this.validate = function(input) {
var bool = true; //this is going to be true/false for valid/invalid
if ((typeof(input) != this.type) || (!this.canBeEmpty && input === '')) {
bool = false;
} else {
if (this.type == 'number') {
//test against min/max
}
}
return bool;
}
}
var myFormValidator = new Validator(); //optionally add necessary arguments
var element = document.getElementById(/*input element id*/);
element.addEventListener('change', function() {
var value = element.value; //or text, or whatever is appropriate
var valid = myFormValidator.validate(value);
if (valid) {
//do stuff
} else {
//do other stuff
}
});
如果使用的是工厂函数或闭包,而不是上面的构造函数,那么您可以使用工厂函数或闭包。如果您使用的是Jquery,那么您应该查看parselyjs。这可能会让您对验证有更多的了解。验证将存储在HTML中。始终在服务器上进行验证,因为您不能始终信任客户端。这可以通过一个JSON对象和字段以及这些字段所需的验证来实现。@Jordan:谢谢,伙计,让我看看欧芹。js@Jordan:我知道我的团队成员正在使用引导验证程序。无论如何,我的团队成员正在使用引导验证程序。无论如何,谢谢你的回答。