26
2019.2
js自动验证
作者: POPASP
POPASP不仅提供了ASP的后台自动验证,也提供了js的前台自动验证,二者的验证条件是一致的,极大地简化了网站的开发速度。
举例如下:
入口文件form.asp
```brush:xml
<%
'项目路径,2.3版本以前用 Const APP_PATH = "./home"
'项目文件夹,部署项目时,不要手工创建home文件夹,否则无法进行项目部署
POP_MVC.appPath = "./home"
'框架文件夹路径,这里跟上面的#include路径一致
POP_MVC.mvc_dir = "../popasp_3.1/"
'一般项目部署时使用POP_MVC.start,部署完后多用POP_MVC.run,后者不去检查项目文件夹是否存在
POP_MVC.run
%>
<%
Call A_("form/add")
%>
js自动验证
```
控制器文件form.asp
```brush:vb
<%
Class Form
private validate_
sub initialize
validate_ = array( _
array( "account" , "" , "用户名不能为空" , 1 , "notempty" ) _
,array( "password" , "" , "密码不能为空" , 1 , "notempty" ) _
,array( "repassword" , "" , "重复密码不能为空" , 1 , "notempty" ) _
,array( "password" , "repassword" , "两次输入的密码不一致" , 1 , "confirm" ) _
)
end sub
sub do_submit
if not P_( "AUTOVALIDATE" ).handle( validate_ , request.form , 3 ) then
that.error( P_( "AUTOVALIDATE" ).error )
else
var_export "成功掌握了POPASP的JS自动验证"
end if
end sub
sub js_check
Call that.js_check( validate_ , 3 )
end sub
End Class
%>
```
访问
http://serverName/form.asp
进行表单提交时,会发现不仅后台可以进行正确验证,还可以进行后台验证,同时我们还发现,我们仅在后台写了验证条件,通过使用that.js_check方法,在前端通过js引入了控制器的js_check方法,再加上表单中的`onsubmit="return popasp_check();"`就完成了前端验证。这里面有几个关键点,我们再来总结一下。
* 正确写验证条件
* 后台采用前面讲到的验证方法进行验证
* 控制器中创建一个方法js_check并引入that.js_check,以便前台引用
* 前端通过script标签调用刚才创建的控制器方法js_check,当然这个名称可以随意来取
* 在表单中使用`onsubmit="return popasp_check();"`以便在提交表单时进行前台验证